MySql5.7之ERROR 1045 (28000)問題處理
1. ERROR 1045 (28000)問題
- 時隔多日連接MySQL時出現(xiàn)了"ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)"的錯誤
- 輸入的正確密碼也無法連接
2.問題原因
引發(fā)問題的原因可能如下:
- 用戶名或密碼不正確:請確保輸入的用戶名和密碼是正確的,注意區(qū)分大小寫。
- 沒有為用戶授予足夠的權(quán)限:用戶可能沒有足夠的權(quán)限來訪問數(shù)據(jù)庫或執(zhí)行特定的操作。
- 主機訪問限制:MySQL 可能限制了從特定主機進行訪問,需要確認(rèn)連接的主機是否受到限制。
- MySQL 服務(wù)未啟動:如果 MySQL 服務(wù)未啟動,將無法連接到數(shù)據(jù)庫。請確保 MySQL 服務(wù)已經(jīng)啟動。
- 一般這個錯誤是由密碼錯誤引起,解決的辦法自然就是重置密碼
3. 解決方法(重置密碼)
1. 修改my.ini配置
在my.ini中的[mysqld]配置中加入
skip-grant-tables
"配置如下:
[mysqld]
# 設(shè)置3306端口
port = 3306
# 設(shè)置mysql的安裝目錄
basedir=E:\MyZipServer\mysql-5.7.33-winx64
# 設(shè)置 mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄,MySQL 8+ 不需要以下配置,系統(tǒng)自己生成即可,否則有可能報錯,8.0以下版本需要配置數(shù)據(jù)目錄
datadir=E:\MyZipServer\mysql-5.7.33-winx64\data
# 允許最大連接數(shù)
max_connections=20
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時將使用的默認(rèn)存儲引擎
default-storage-engine=INNODB
# 跳過密碼驗證,解決"ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)"的問題
skip-grant-tables
2. 修改密碼
執(zhí)行下面語句中的任意一條修改即可,如下:文章來源:http://www.zghlxwxcb.cn/news/detail-826824.html
alert user 'root'@'localhost' identified by '你的新密碼';
# 或
set password for 'root'@'localhost' = password('你的新密碼')
- 如果執(zhí)行上面命令后出現(xiàn)
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
的錯誤需要先刷新下權(quán)限,如下
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
3. 刷新權(quán)限
刷新權(quán)限后再執(zhí)行修改密碼的命令完成root密碼的修改文章來源地址http://www.zghlxwxcb.cn/news/detail-826824.html
# 完整的處理過程如下
mysql> set password for 'root'@'localhost' = password('xxx');
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> set password for 'root'@'localhost' = password('xxx');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql>
4. 再次修改my.ini配置
- 密碼修改完成后先停止服務(wù);
- 然后將my.ini中配置的"skip-grant-tables"刪除掉;
- 再重啟服務(wù)問題解決
到了這里,關(guān)于MySql5.7之ERROR 1045 (28000)問題處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!