DBeaver、Navicat、MySQL高頻報錯及解決方法,此文持續更新
電腦配置:系統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]://www.yixuebiancheng.com/article/61525.html
[2]://www.jb51.net/article/186310.htm
[3]://blog.csdn.net/lienfeng6/article/details/78140404