這兩天在自己的windows7上安裝了一下MySQL資料庫,安裝使用的是5.7.18版本的 noinstall Zip Archive安裝包mysql-5.7.18-win32.zip。由於5.7版本相對5.6版本發生了一下變化,很多網上的安裝教程都失效了,因此在安裝過程中遇到了一系問題,在這裡根據 ...
這兩天在自己的windows7上安裝了一下MySQL資料庫,安裝使用的是5.7.18版本的 noinstall Zip Archive安裝包mysql-5.7.18-win32.zip。由於5.7版本相對5.6版本發生了一下變化,很多網上的安裝教程都失效了,因此在安裝過程中遇到了一系問題,在這裡根據自己查看的官方文檔和實際的解決過程,整理了一下高版本的MySql的安裝步驟,希望對大家有所幫助。詳情步驟如下:
1.下載安裝包
從https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-win32.zip路徑下載安裝包,並解壓:
使用noinstall Zip Archive安裝包有一個好處是:安裝過程相對簡單,不用像msi安裝包那樣需要一步一步執行可視化的安裝步驟。
註意:從5.7.7版本開始,安裝包中就不包含data目錄了,data目錄需要初始化才能生成(mysql官方原文:As of 5.7.7, Windows installation operations performed using the Noinstall
package do not include a data directory.)。此外,從5.7.18版本開始,因為.ini配置文件不再包含在分發包中。
2.初始化data目錄
為了初始化data目錄,你可以調用mysqld --
initialize
或者
mysqld-initialize-insecure
,
這兩者的區別是
mysqld
--
initialize
會生成一個隨機密碼,該密碼存在於
mysql
錯誤日誌文件中,而
mysqld-initialize-insecure
會為
root'@'localhost
創建一個空密碼,以後在連接資料庫時可以不必輸入密碼。
官方建議使用
mysqld-initialize-insecure
,以防止你在連接資料庫過程中忘記密碼。初始化data
目錄過程如下:
2.1 以管理員身份運行cmd.exe
2.2 執行: mysqld --
initialize
進入D:\software\mysql\mysql-5.7.18-win32\bin,
由於之前我已經執行過此操作,初始化過data目錄,因此這裡提示已經存在了。如果你是第一次執行了該操作,你會看到D:\software\mysql\mysql-5.7.18-win32目錄下多了data目錄。
2.3查看隨機密碼
由於我是使用mysqld --
初始化並產生的data目錄,因此會生成隨機密碼,寫入錯誤日誌文件:D:\software\mysql\mysql-5.7.18-win3\data目錄下以*.err命名的文件,寫入格式為: A temporary password is generated for root@localhost: 2RHHs?elM3h*。initialize
3.安裝mysql
D:\software\mysql\mysql-5.7.18-win32\bin> mysqld -install
會提示success。註意:如果 install denial,要需要你的cmd是以管理員打開。
4.啟動服務
D:\software\mysql\mysql-5.7.18-win32\bin>net start mysql
想要停止服務,執行net stop mysql命令
5.修改環境變數
將D:\software\mysql\mysql-5.7.18-win32\bin路徑添加到系統環境變數中,這樣做的原因是以後直接在cmd登錄路徑下連接和運行mysql命令,而不必每次都重新進入先cd D:\software\mysql\mysql-5.7.18-win32\bin,然後才能執行mysql 命令。如何在windows下設置環境變數的步驟如下:
5.1 新建環境變數MYSQL_HOME
電腦-》右鍵屬性-》高級系統設置-》高級-》環境變數-》系統變數-》新建:
創建名為MYSQL_HOME,值為D:\software\mysql\mysql-5.7.18-win32的環境變數。
5.2 在Path變數中添加%MYSQL_HOME%\bin
在Path變數中添加“%MYSQL_HOME%\bin;”,確定。
6. 連接資料庫
完成mysql安裝,並設置環境變數以後,可以運行cmd.exe,執行連接命令。
1) 如果你是通過--initialize初始化的data目錄,在連接時,需要輸入隨機密碼。
- shell>
mysql -u root -p
Enter password:
(enter the random root password here)
如果忘了隨機密碼,可以去*.err錯誤日誌文件中找到隨機密碼。如果你的*.err不慎被你刪了,那麼請參考第8節,修改密碼。
2) 如果你是通過--initialize-insecure
初始化的data目錄,可以不適用密碼。
- shell>
mysql -u root --skip-password
7.連接測試
連接成功時,可以執行status;命令看一下資料庫的配置。
8.修改密碼
方法一:(使用場景:連接成功後,設置新的密碼)
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
方法二:(使用場景:忘了密碼,怎麼找也找不到)
1、啟動服務後, C:\windows\System32>mysql -u root -p
會提示 ”Access denied for user ‘root’@’localhost’ (using password: YES)”拒絕登錄。不然登錄。
2、莫慌,接下來先net stop mysql (停止服務),跳過他的許可權表檢查的方法是:C:\windows\System32>>mysqld –skip-grant-tables
3、重新打開一個cmd,bin 目錄下,輸入mysql回車,出現mysql>提示符,輸入 use mysql;
4、修改密碼
update mysql.user set authentication_string=password(‘123qaz’) where user=’root’ and Host = ‘localhost’;
5、刷新: mysql> flush privileges;
6、quit 註銷系統。
7、重新連接,輸入新密碼。
至此,在windows7平臺下安裝MySQL的過程完美結束。
參考文檔:
https://dev.mysql.com/doc/refman/5.7/en/windows-install-archive.html