MySQL系列:Windows 下 MySQL 8.X 的安裝

以前一直使用的是MySQL5.7,但因爲MySQL增長了一些新特性,因此選擇了更新。java

下載MySQL

進入MySQL官網下載地址,選擇Windows (x86, 64-bit), ZIP Archive。mysql

下載地址:https://dev.mysql.com/downloads/mysql/sql

可不用登陸,直接跳過。下載過程也許有丟丟慢,耐心等待下。數據庫

下載完成後,直接解壓到本身喜歡的位置便可。安全

卸載原有版本

若是以前有安裝低版本的MySQL,須要先卸載以前的MySQL。若是沒有安裝過,可直接跳過該步驟。ui

管理員打開cmd,先 net stop mysql 停掉 mysql 服務,而後使用 mysqld remove MySQL 移除MySQL。3d

net stop mysql 
mysqld remove MySQL

刪除註冊表信息,以避免有時候沒法正常安裝新版本。如下有就刪除,但我在操做時僅僅只有第一個存在。code

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的環境變量指向新版本位置。server

安裝MySQL

在MySQL的解壓目錄裏,新建data文件夾,並建立my.ini配置文件。blog

[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
相關文章
相關標籤/搜索