溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

centos中MySQL登錄出現(xiàn)1045錯(cuò)誤怎么辦

發(fā)布時(shí)間:2021-06-16 09:34:48 來源:億速云 閱讀:1427 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章給大家分享的是有關(guān)centos中MySQL登錄出現(xiàn)1045錯(cuò)誤怎么辦的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

由于需要在centos下部署整個(gè)應(yīng)用,自然少不了對(duì)數(shù)據(jù)庫的操作。但很多人可能會(huì)遇到一些問題,比如創(chuàng)建用戶成功,但是卻無法登錄。

無法登陸一般就兩個(gè)原因。第一,遠(yuǎn)程訪問端口沒開,第二個(gè)原因就是密碼錯(cuò)誤了(很奇怪,我們登錄時(shí)的密碼明明是正確的,但還是會(huì)提示密碼錯(cuò)誤,我也不知道這是什么原因,有可能是編碼之類的吧)

遠(yuǎn)程訪問端口沒開這種情況比較好解決,如果用的云服務(wù)器,在控制臺(tái)去配置安全組,打開相應(yīng)端口就可以了。

這里說一下第二種錯(cuò)誤,這個(gè)比較坑。

第二種情況往往會(huì)報(bào)錯(cuò)顯示:1045 Access denied for user 'root'@'%' (using password:YES)。

centos中MySQL登錄出現(xiàn)1045錯(cuò)誤怎么辦

我把完整流程大致寫一遍。我的操作系統(tǒng)是centos7.4,MySQL版本是5.7。

首先登陸mysql,我的是root用戶。登錄命令是

mysql -u root -p

輸入登錄密碼后,窗口變化如下圖:

centos中MySQL登錄出現(xiàn)1045錯(cuò)誤怎么辦

首先看一下現(xiàn)在系統(tǒng)里面有哪些用戶,以及用戶的具體權(quán)限,具體命令:

查看用戶:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

查看具體用戶的權(quán)限:

show grants for 'root'@'%';

窗口變化如下圖:

centos中MySQL登錄出現(xiàn)1045錯(cuò)誤怎么辦

接下來我要?jiǎng)?chuàng)建一位用戶,讓改用戶能夠遠(yuǎn)程訪問數(shù)據(jù)庫,并對(duì)其進(jìn)行操作。具體命令如下:

create user zhangsanidentified by 'zhangsan.CQU.2020.lisi';
grant all privileges on *.* to zhangsan@'%' identified by 'zhangsan.CQU.2020.lisi';

或者一條命令直接搞定:

grant all privileges on *.* to 'zhangsan'@'%' identified by 'zhangsan.CQU.2020.lisi' with grant option;

操作完成后,千萬記得刷新,否則可能不生效,命令如

flush privileges;

此時(shí)再查看用戶,就能發(fā)現(xiàn)多了一位用戶,也就是我們剛才創(chuàng)建的用戶。

centos中MySQL登錄出現(xiàn)1045錯(cuò)誤怎么辦

輸入exit,退出MySQL,然后試著用zhangsan這個(gè)賬戶登錄一下。

centos中MySQL登錄出現(xiàn)1045錯(cuò)誤怎么辦

問題順利出現(xiàn)了,就是登不上去,接下來去解決這個(gè)問題咯。

首先,找到自己的MySQL的my.cnf文件,(我的在etc文件夾下面,不同的人可能不一樣,用Linux命令按條件查找即可)

打開文件后(vi my.cnf),進(jìn)入編輯模式(a)找到mysqld關(guān)鍵字,在mysqld下面添加skip-grant-tables,保存退出(先esc,再:wq),如圖:

centos中MySQL登錄出現(xiàn)1045錯(cuò)誤怎么辦

將注釋去掉即可。

然后重啟mysql,命令如下:

service mysqld restart

接下來就是重新登錄,然后修改密碼啦。

centos中MySQL登錄出現(xiàn)1045錯(cuò)誤怎么辦

提示輸入密碼那里,直接enter,跳過密碼驗(yàn)證,登陸成功。接下來進(jìn)入mysql數(shù)據(jù)庫,然后修改密碼,命令如下。

use mysql

修改密碼:

update user set authentication_string=password("zhangsan.CQU.2020.lisi") where user="zhangsan";

如圖:

centos中MySQL登錄出現(xiàn)1045錯(cuò)誤怎么辦

然后退出mysql,將剛剛修改過的my.cnf文件改回來,并重新啟動(dòng)mysql。

centos中MySQL登錄出現(xiàn)1045錯(cuò)誤怎么辦

可以看到登錄已經(jīng)成功了,遠(yuǎn)程連接也能成功,就不演示了,如果遠(yuǎn)程登錄還不成功,檢查一下端口設(shè)置,是否開啟了遠(yuǎn)程訪問。

感謝各位的閱讀!關(guān)于“centos中MySQL登錄出現(xiàn)1045錯(cuò)誤怎么辦”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI