一、准備工作
1、解壓mysql-8.0.18-winx64.zip
2、配置環境變量D:\mysql-8.0.18-winx64\bin(自己的安裝目錄)到path變量。
PS:環境變量可以不配置,但每次執行命令的時候要先進入到bin下。
二、安裝流程
PS:如果之前沒安裝過mysql,直接跳到第3點
1、如果你已經安裝過mysql服務,請先卸載服務,卸載服務前請先確認服務已關閉。
mysqld remove mysql
注意:mysql是你的服務名字,是你注冊服務時候設定的,如果不清楚可以到控制面板>管理工具>查看本地服務中查找。
2、如果你之前已經創建過服務,請手動刪除data文件夾(提示被占用往往是你的mysql服務正在啟動,先關閉)。
關閉mysql服務
net stop mysql
PS:同理,mysql是你的服務名字,並且和啟動mysql服務的命令一樣都是屬於windos的,不需要配置mysql的環境變量也可執行。
3、在根目錄下創建my.ini文件,這里只配置了一些基本屬性。
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
# 設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=D:\\mysql-8.0.18-winx64
# 默認使用“mysql_native_password”插件認證
default_authentication_plugin=mysql_native_password
PS:路徑記得改成自己的。之前我這里是配置了data文件夾路徑的,后來發現這樣有可能在安裝完服務后啟動不了,所以刪除。另外注意路徑使用"\\"
4、進入cmd(快捷鍵win+R,記得用管理員身份,防止可能存在的權限錯誤)
5、輸入命令(如果之前安裝過服務,確認服務已經卸載,安裝目錄下data文件夾已被刪除)
mysqld --initialize-insecure --user=root
這個命令會根據my.ini配置文件對mysql數據庫進行初始化(data文件夾就是此時自動創建的),時間可能會比較長,請耐心等待。
PS:如果提示:“由於找不到msvcp140.dll無法繼續執行代碼”,請檢查microsoft visual c++是否安裝或損壞。
6、接着注冊mysql服務,
mysqld install mysql
此時才真正的創建了名為mysql(名字可以自取)的服務,data文件夾下會生成日志文件
data文件夾下生成的xxx.err(xxx是你的計算機名)文件里會有默認密碼,一般情況下是空,具體看文件。
有如下信息說明密碼為空:[Server] root@localhost is created with an empty password !
PS :注冊服務這里,還有一種是指定my.ini文件的,后來我發現不需要指定,mysql會自動找到my.ini文件進行初始化配置(指定可能會出錯)。
7、啟動mysql服務
net start mysql
PS:這里如果出現:mysql正在啟動,然后啟動失敗,服務沒有任何報錯,確認如下幾點:
1)3306端口有無被占用,host文件的locathost是否被修改
2)my.ini配置文件是否有錯
3)可以輸入mysqld --console查看日志
8、啟動成功后,登陸root用戶(或者直接用Navicat連接)
mysql -u root -p
回車提示要輸入密碼,我使用時是默認密碼為空(如果有輸入默認密碼),所以直接回車進入mysql>。
9、更改root用戶密碼:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';
由於版本關系對密碼的安全性要求變高了,盡量使用英文+數字+特殊符號來做密碼,避免報錯,如:admin3#
修改成功后,如果你無法用Navicat連接,是你的my.ini沒有配置(8.0版本加密方式發生改變,所以不配置是連接不了的,但cmd模式下登陸沒問題)
default_authentication_plugin=mysql_native_password
補救方法,先修改加密方法:
dos命令下登陸root用戶,輸入命令
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼' PASSWORD EXPIRE NEVER;
然后更改密碼:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';
刷新:
FLUSH PRIVILEGES;
即可用Navicat連接。