電腦配置:系統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