之前一直使用的是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的環(huán)境變量指向新版本位置。
安裝MySQL
在MySQL的解壓目錄里突梦,新建data文件夾诫舅,并創(chuàng)建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
# 允許連接失敗的次數宫患。這是為了防止有人從該主機試圖攻擊數據庫系統(tǒng)
max_connect_errors=10
# 服務端使用的字符集默認為UTF8
character-set-server=utf8
# 創(chuàng)建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[client]
# 設置mysql客戶端連接服務端時默認使用的端口
port=3306
# 設置mysql客戶端連接服務端時默認字符集
default-character-set=utf8
進入bin目錄刊懈,執(zhí)行mysqld --initialize --console,執(zhí)行成功會輸出臨時密碼娃闲。
mysqld --initialize --console
執(zhí)行成功后會輸出: 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励堡,在執(zhí)行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
# 使用系統(tǒng)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