之前一直使用的是MySQL5.7,但由於MySQL增加了一些新特性,所以選擇了更新。 下載MySQL 進入MySQL官網下載地址,選擇Windows (x86, 64 bit), ZIP Archive。 下載地址: 可不用登錄,直接跳過。下載過程也許有丟丟慢,耐心等待下。 下載完成後,直接解壓到自 ...
之前一直使用的是MySQL5.7,但由於MySQL增加了一些新特性,所以選擇了更新。
下載MySQL
進入MySQL官網下載地址,選擇Windows (x86, 64-bit), ZIP Archive。
下載地址:https://dev.mysql.com/downloads/mysql/
可不用登錄,直接跳過。下載過程也許有丟丟慢,耐心等待下。
下載完成後,直接解壓到自己喜歡的位置即可。
卸載原有版本
如果之前有安裝低版本的MySQL,需要先卸載之前的MySQL。如果沒有安裝過,可直接跳過該步驟。
管理員打開cmd,先 net stop mysql 停掉 mysql 服務,然後使用 mysqld remove MySQL 移除MySQL。
net stop mysql
mysqld remove MySQL
刪除註冊表信息,以免有時候無法正常安裝新版本。以下有就刪除,但我在操作時僅僅只有第一個存在。
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Application/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Application/MySQL
修改原有MySQL_HOME的環境變數指向新版本位置。
安裝MySQL
在MySQL的解壓目錄里,新建data文件夾,並創建my.ini配置文件。
[mysqld]
# 設置3306埠
port=3306
# 設置mysql的安裝目錄
basedir=E:\\tools\\MySQL\\mysql-8.0.18-winx64
# 設置mysql資料庫的數據的存放目錄
datadir=E:\\tools\\MySQL\\mysql-8.0.18-winx64\\data
# 允許最大連接數
max_connections=3000
# 允許連接失敗的次數。這是為了防止有人從該主機試圖攻擊資料庫系統
max_connect_errors=10
# 服務端使用的字元集預設為UTF8
character-set-server=utf8
# 創建新表時將使用的預設存儲引擎
default-storage-engine=INNODB
[mysql]
# 設置mysql客戶端預設字元集
default-character-set=utf8
[client]
# 設置mysql客戶端連接服務端時預設使用的埠
port=3306
# 設置mysql客戶端連接服務端時預設字元集
default-character-set=utf8
進入bin目錄,執行mysqld --initialize --console,執行成功會輸出臨時密碼。
mysqld --initialize --console
執行成功後會輸出: A temporary password is generated for root@localhost: a4lcly4e8f-G
a4lcly4e8f-G就是臨時密碼
然後使用該密碼就可以進行了,幸運的話,就可以正常進入MySQL。
登錄報錯
如果不幸地,在使用臨時密碼登錄時報錯,ERROR 1045 (28000):Access denied for user 'root'@'localhost' (using password: YES)。
遇到此問題,需要跳過密碼校驗。
先停掉MySQL服務:net stop mysql
在MySQL安裝路徑的bin目錄,輸入mysqld --console --skip-grant-tables --shared-memory,此時cmd視窗會被掛起,也就是看起來卡住一樣,不用擔心,這是正常現象。
然後再打開另一個視窗,同樣是MySQL安裝路徑的bin目錄,直接輸入mysql,在執行use mysql。
使用flush privileges刷新許可權,再alter user'root'@'localhost' IDENTIFIED BY '1234';更改密碼。
保險起見,再次使用flush privileges刷新許可權。
關閉視窗,使用剛剛的密碼重新連接MySQL:mysql -u root -p,然後再輸入密碼。若顯示服務未啟動,需先啟動MySQL服務,輸入net start mysql。
# 關閉MySQL
net stop mysql
# 跳過許可權校驗
mysqld --console --skip-grant-tables --shared-memory
# 刷新許可權
flush privileges
# --skip-grant-tables模式下連接MySQL
mysql
# 使用系統mysql庫
use mysql
# 更改密碼
alter user 'root'@'localhost' IDENTIFIED BY '1234';
# 刷新許可權
flush privileges
# 連接MySQL,-u、-p後空格可省略,-p後可不輸入密碼,再回車後再鍵入密碼,這樣更安全
mysql -u root -p 1234
# 退出MySQL
\q
exit
quit