DBeaver、Navicat、MySQL高頻報錯及解決方法,此文持續更新

電腦配置:系統64位win10,MySQL8.0.16

第一坑,沒有用管理員身份

第一次登錄,打開cmd,執行net start mysql
報錯:發生系統錯誤5
錯誤原因:沒有用管理員身份運行cmd

第二坑,MySQL 服務無法啟動

用管理員身份運行cmd,執行net start mysql
報錯:

MySQL 服務正在啟動
MySQL 服務無法啟動
服務沒有報告任何錯誤

錯誤原因:

  1. MySQL安裝時沒有配置系統環境變數
  2. MySQL安裝目錄下沒有my.ini配置文件
  3. 沒有初始化MySQL(沒有執行mysqld --initialize),執行後會在安裝目錄下生成data文件夾

1. MySQL安裝時沒有配置系統環境變數
可以參考文章:為什麼需要配置環境變數

解決方法:

  1. 小娜搜索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配置文件

解決方法:

  1. 在桌面新建my.ini文件,然後複製到MySQL安裝文件夾下(c盤下面修改文件可能會有許可權問題,可以換個角度從桌面複製文件到該文件夾下)
  2. 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種錯誤原因:

  1. MySQL的伺服器停止了
  2. 用戶的埠號或者IP導致拒絕訪問
  3. MySQL的配置文件錯誤(my.ini等文件)
  4. 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用戶的密碼錯誤

解決方法:密碼錯誤的話,這裡有兩種解決方法

  1. MySQL安裝路徑下data文件,用記事本打開.err後綴的文件,裡面有密碼。A temporary password is generated for root@localhost: 隨機密碼

  1. –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

Tags: