MySQL登錄時(shí)出現(xiàn)ERROR 1045: Access denied for user ‘root‘@‘localhost‘ (using password: YES)無法打開解決方法匯總
一、Bug描述
Mysql在使用過程中,可能會(huì)遇到登錄問題,比如常見的錯(cuò)誤信息:“Access denied for user ‘root’@‘localhost’ (using password: YES)”。
本文將分析這個(gè)問題的可能原因,并提供一系列解決方案。
二、定位報(bào)錯(cuò)原因
出現(xiàn)這個(gè)Access denied問題的原因有如下可能:
- MySQL的服務(wù)器停止了。
- 用戶的端口號(hào)或者IP導(dǎo)致拒絕訪問。
- MySQL的配置文件錯(cuò)誤(通常是my.cnf或my.ini)。
- root用戶的密碼錯(cuò)誤。
- 權(quán)限問題:用戶可能沒有足夠的權(quán)限登錄。
三、解決方案匯總
方案一:重設(shè)密碼(建議忘記密碼才使用這個(gè)方案)
步驟1:停止MySQL服務(wù)
在Linux上,可以使用以下命令:
sudo systemctl stop mysql
在Windows上,可以通過服務(wù)管理器停止MySQL服務(wù)。
步驟2:以無密碼模式啟動(dòng)MySQL
在Linux上,使用以下命令:
sudo mysqld_safe --skip-grant-tables &
如果是Windows系統(tǒng)。
使用vi /etc/my.cnf,添加到【mysqld】后面
skip-grant-tables
重啟MySQL服務(wù)
systemctl restart mysqld
創(chuàng)建一個(gè)免密碼登錄的用戶
use mysql #選擇數(shù)據(jù)庫 update user set authentication_string=password("123456") where user="root"; #修改密碼
步驟3:連接Mysql
使用以下命令連接到MySQL服務(wù)器:
mysql -u root
步驟4:設(shè)置新密碼
在MySQL命令行中,執(zhí)行以下命令來設(shè)置新密碼:
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
步驟5:重啟Mysql服務(wù)
在Linux上,使用以下命令:
sudo systemctl start mysql
Windows上,使用命令
net start mysql
方案二:檢查用戶權(quán)限
確保root用戶具有從localhost登錄的權(quán)限??梢允褂靡韵旅畈榭礄?quán)限:
SHOW GRANTS FOR 'root'@'localhost';
如果權(quán)限不正確,可以使用以下命令授予所有權(quán)限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;
方案三:修改配置文件(推薦)
檢查MySQL的配置文件,確保沒有錯(cuò)誤的配置阻止了登錄。
常見的配置文件路徑為/etc/mysql/my.cnf或/etc/my.cnf 或者 D:\Program Files\MySQL\MySQL Server 5.0\my.ini)
在[mysqld]這個(gè)條目下加入
skip-grant-tables
保存退出后重啟mysql即可。
這時(shí)候在cmd里面輸入mysql -u root -p就可以不用密碼登錄了,出現(xiàn) password:的時(shí)候直接回車可以進(jìn)入,不會(huì)出現(xiàn)ERROR 1045 (28000),但很多操作都會(huì)受限制,因?yàn)槲覀儾荒躦rant(沒有權(quán)限)。
我們接下來設(shè)置密碼就可以了
mysql> use mysql; mysql> update user set password=password("新密碼") where user="root";
然后刷新數(shù)據(jù)庫。
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> quit;
總結(jié)
以上就是MySQL登錄時(shí)出現(xiàn)ERROR 1045: Access denied for user ‘root‘@‘localhost‘ (using password: YES)無法打開解決方法匯總的詳細(xì)內(nèi)容,更多關(guān)于MySQL ERROR 1045的資料請關(guān)注腳本之家其它相關(guān)文章!
- MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)問題的解決
- mysql登錄遇到ERROR 1045問題解決方法
- mysql登錄報(bào)錯(cuò)提示:ERROR 1045 (28000)的解決方法
- MySQL ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: NO) 的原因分解決辦法
- MySQL ERROR 1045 (28000) 錯(cuò)誤的解決辦法
- 解決mysql安裝時(shí)出現(xiàn)error Nr.1045問題的方法
- 解決mysql ERROR 1045 (28000)-- Access denied for user問題
- mysql ERROR 1045 (28000)問題的解決方法
- 解決MySQL添加新用戶-ERROR?1045?(28000)的問題
- 解決Mysql:ERROR?1045?(28000):Access?denied?for?user?‘root‘@‘localhost‘?(using?password:?NO)的方法
- 全面分析MySQL?ERROR?1045出現(xiàn)的原因及解決
- mysql 登錄報(bào)錯(cuò):ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: Yes)
相關(guān)文章
mysql數(shù)據(jù)庫備份及恢復(fù)命令 mysqldump,source的用法
mysql數(shù)據(jù)庫備份及恢復(fù)命令 mysqldump,source的用法,需要的朋友可以參考下。2011-02-02MYSQL5.7 全文檢索中文無返回?cái)?shù)據(jù)的問題解決
本文介紹了MYSQL5.7 全文檢索中文無返回?cái)?shù)據(jù)的問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01Linux服務(wù)上MySQL啟動(dòng)、重啟和關(guān)閉的操作方法
MySQL是一種廣泛使用的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),常用于各種規(guī)模的應(yīng)用程序中,在Linux服務(wù)器上管理MySQL服務(wù)是一個(gè)基本的運(yùn)維任務(wù),本文將詳細(xì)介紹如何在Linux系統(tǒng)上啟動(dòng)、重啟和關(guān)閉MySQL服務(wù),涵蓋不同Linux發(fā)行版(如Ubuntu和CentOS)的操作方法2024-11-11MySQL性能壓力基準(zhǔn)測試工具sysbench的使用簡介
這篇文章主要介紹了MySQL性能壓力基準(zhǔn)測試工具sysbench的使用簡介,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下2021-04-04詳解MySQL多版本并發(fā)控制機(jī)制(MVCC)源碼
MVCC,即多版本并發(fā)控制(Multi-Version Concurrency Control)指的是,通過版本鏈維護(hù)一個(gè)數(shù)據(jù)的多個(gè)版本,使得讀寫操作沒有沖突,可保證不同事務(wù)讀寫、寫讀操作并發(fā)執(zhí)行,提高系統(tǒng)性能2021-06-06Mysql數(shù)據(jù)庫不同官方版本對(duì)比詳細(xì)分析
MySQL是一個(gè)流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),有多個(gè)版本,這篇文章主要介紹了Mysql數(shù)據(jù)庫不同官方版本對(duì)比的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01