電腦配置:系統64位win10,MySQL8.0.16
第一坑,沒有用管理員身份
第一次登入,開啟cmd,執行net start mysql
報錯:發生系統錯誤5
錯誤原因:沒有用管理員身份執行cmd
第二坑,MySQL 服務無法啟動
用管理員身份執行cmd,執行net start mysql
報錯:
MySQL 服務正在啟動
MySQL 服務無法啟動
服務沒有報告任何錯誤
錯誤原因:
- MySQL安裝時沒有配置系統環境變數
- MySQL安裝目錄下沒有
my.ini
配置檔案 - 沒有初始化MySQL(沒有執行
mysqld --initialize
),執行後會在安裝目錄下生成data資料夾
1. MySQL安裝時沒有配置系統環境變數
可以參考文章:為什麼需要配置環境變數
解決方法:
- 小娜搜尋path(或者我的電腦->屬性->高階系統屬性->高階->環境變數->path),新建系統變數,
變數名:MYSQL_HOME
,變數值:C:\Program Files\MySQL\MySQL Server 8.0(安裝資料夾路徑)
2. path裡新建環境變數:%MYSQL_HOME%\bin
3. 以管理員身份執行cmd,命令切換到MySQL安裝路徑下的bin資料夾:cd C:\Program Files\MySQL\MySQL Server 8.0\bin
2. MySQL安裝目錄下沒有my.ini
配置檔案
解決方法:
- 在桌面新建
my.ini
檔案,然後複製到MySQL安裝資料夾下(c盤下面修改檔案可能會有許可權問題,可以換個角度從桌面複製檔案到該資料夾下) my.ini
檔案內容
[mysql]
; 設定mysql客戶端預設字符集
default-character-set=utf8
[mysqld]
;設定3306埠
port = 3306
; 設定mysql的安裝目錄
basedir=C:\Program Files\MySQL\MySQL Server 8.0
; 設定mysql資料庫的資料的存放目錄
datadir=C:\Program Files\MySQL\MySQL Server 8.0\data
; 允許最大連線數
max_connections=200
; 服務端使用的字符集預設為8位元編碼的latin1字符集
character-set-server=utf8
; 建立新表時將使用的預設儲存引擎
default-storage-engine=INNODB
3. 沒有初始化MySQL(沒有執行mysqld --initialize
),執行後會在安裝目錄下生成data資料夾
解決方法:
注:使用mysqld --initialize
命令前,不要自己建立data目錄,有data目錄就先刪除,
再使用mysqld --initialize
,否則無法正常生成全部data目錄檔案。
第三坑,報錯:ERROR 1045 (28000): Access denied for user 'root'@'localhost'
服務啟動之後,執行mysql -u root -p
報錯:ERROR 1045 (28000): Access denied for user 'root'@'localhost'
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
翻譯一下:錯誤 1045 (28000): 使用者"根"@"本地"的訪問被拒絕(使用密碼:是)
類似經典案例:
Navicat 連線MySQL資料庫出現錯誤:ERROR 1045 (28000): Access denied for user 'root'@'localhost'
錯誤原因:沒有安裝 MySQL
解決方法:mysql 8.0.20 winx64安裝配置方法圖文教程
4種錯誤原因:
- MySQL的伺服器停止了
- 使用者的埠號或者IP導致拒絕訪問
- MySQL的配置檔案錯誤(my.ini等檔案)
- root使用者的密碼錯誤
1.MySQL的伺服器停止了
解決方法:
重啟MySQL伺服器:net start mysql
2.使用者的埠號或者IP導致拒絕訪問
解決方法:
- 若使用者的埠號與IP(3306/3307)不一致,開啟
my.ini
檔案進行編輯。全部編輯替換為: port=X,3306~3309可選 my.ini
檔案可自己建立
3.MySQL的配置檔案錯誤(my.ini等檔案)
解決方法:
若my.ini
檔案配置錯誤,可以參考以下文章,該檔案已對my.ini
檔案進行了解釋和註釋。my.ini檔案配置說明書
4.root使用者的密碼錯誤
解決方法:密碼錯誤的話,這裡有兩種解決方法
- MySQL安裝路徑下data檔案,用記事本開啟
.err
字尾的檔案,裡面有密碼。A temporary password is generated for root@localhost: 隨機密碼
- 用
–init-file
引數在服務啟動時載入並執行修改密碼的命令檔案,該命令一旦執行,服務啟動後密碼即已經清除或者重置,啟動服務後即可以空密碼或指定密碼登入。
- 先關掉伺服器:
net stop mysql
- 建立一個文字檔案mysql.txt,內容:
ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密碼";
- 以管理員身份執行cmd,執行
mysqld --init-file=C:\Program Files\MySQL\MySQL Server 8.0\mysql.txt --console
- 重啟伺服器:
net start mysql
- 執行:
mysql -u root -p
- 輸入新密碼就可以了
第四坑,MySQL8.0後修改密碼跟以前不一樣
輸入隨機密碼後,可以修改密碼
注意,MySQL8.0後修改密碼跟以前不一樣,親測下面程式碼可用
ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密碼";
參考:
[1]:https://www.yixuebiancheng.com/article/61525.html
[2]:https://www.jb51.net/article/186310.htm
[3]:https://blog.csdn.net/lienfeng6/article/details/78140404