包括初始化root用戶密碼password的過程以及兩個常見問題的解決方法
1. 下載MySQL zip包
進入[MySQL官網](http://dev.mysql.com/downloads/mysql)按需選擇zip包下載并解壓,
比如現在我電腦里面下載的是mysql-5.7.17-winx64
http://dev.mysql.com/downloads/mysql/
2. 編輯MySQL配置文件
打開解壓的mySQL.zip包,在里面找到my-defalult.ini, 該文件是MySQL的默認配置文件
此處推薦大家復制一份,并改名my.ini
編輯my.ini,此處我只配置了端口,MySQL的安裝目錄以及MySQL數據庫存放目錄
> [mysqld] > # 設置3306端口 > port = 3306 > # 設置MySQL的安裝目錄 > basedir=C:/mysql-5.7.17-winx64/mysql-5.7.17-winx64 > # 設置MySQL數據庫的數據的存放目錄 > datadir=C:/mysql-5.7.17-winx64/mysql-5.7.17-winx64/data
3. 安裝并配置MySQL服務
使用admin權限打開CMD運行窗口,進入到MySQL的bin目錄下執行以下install命令
C:/mysql-5.7.17-winx64/mysql-5.7.17-winx64/bin>mysqld -installService successfully installed.
運行net start mysql命令打開MySQL服務
net start mysql
PS:問題1
描述:啟動MySQL服務失敗
C:/mysql-5.7.17-winx64/mysql-5.7.17-winx64/bin>net start mysqlThe MySQL service is starting.The MySQL service could not be started.The service did not report an error.More help is available by typing NET HELPMSG 3534.
解決方法:
通過一些網絡上面的搜索得知,版本5.7以后在啟動MySQL服務前,需要初始化bin/data目錄,
我的做法是:
- 創建bin/data目錄,如果存在刪掉以前的 - 在剛剛的admin權限的運行窗口執行初始化命令,以此來生成沒有密碼的root用戶: C:/mysql-5.7.17-winx64/mysql-5.7.17-winx64/bin>mysqld --initialize-insecure - 再次嘗試打開MySQL服務,不出意外,會返回success: C:/mysql-5.7.17-winx64/mysql-5.7.17-winx64/bin>net start mysql The MySQL service is starting. The MySQL service was started successfully.
檢查MySQL服務已經打開
運行net start命令列出所有已經打開的windows服務,在輸出中找到MySQL代表成功:
C:/mysql-5.7.17-winx64/mysql-5.7.17-winx64/bin>net startThese Windows services are started: ... MySQL ...
4. 初始化root用戶密碼
進入MySQL
由于我們剛剛生成的root沒有附帶密碼,所以可以通過以下命令免密碼進入MySQL
mysql -u root
選擇使用MySQL數據庫
mysql> use mysql;
通過sql語句查看user表數據, 可以確定目前root無密碼
mysql> select user, authentication_string from user;+-----------+-------------------------------------------+| user | authentication_string |+-----------+-------------------------------------------+| root | || mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |+-----------+-------------------------------------------+2 rows in set (0.00 sec)
為MySQL root用戶初始化密碼
mysql> update user set authentication_string=password('密碼') where user='root';Query OK, 1 row affected, 1 warning (0.02 sec)Rows matched: 1 Changed: 1 Warnings: 1
PS:問題2
描述:使用以下命令初始化密碼失敗
mysql> update user set password=PASSWORD('密碼') where user='root';
解決方法:
可以通過查看user表信息得知,在新版的MySQL的user表中,已經去除掉了password字段,
而用authentication_string替換,因此使用該的命令,會返回錯誤。
再次確認user表下面的root用戶信息,可以看到現在root用戶已經擁有了密碼。
mysql> select user, authentication_string from user;+-----------+-------------------------------------------+| user | authentication_string |+-----------+-------------------------------------------+| root | *8B62E5775164CCBD6B3F9FFFC5ABCEFGHIGKLMNO || mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |+-----------+-------------------------------------------+2 rows in set (0.00 sec)
執行flush privileges命令使更改生效
mysql> flush privileges;Query OK, 0 rows affected (0.01 sec)
退出MySQL
mysql> exitBye
使用root密碼登陸MySQL
C:/mysql-5.7.17-winx64/mysql-5.7.17-winx64/bin>mysql -u root -pEnter password: *********Welcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 5Server version: 5.7.17 MySQL Community Server (GPL)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.mysql>
以上所述是小編給大家介紹的Windows平臺配置5.7版本+MySQL數據庫服務,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答