mysql數(shù)據(jù)庫(kù)鏈接失敗常見(jiàn)問(wèn)題及解決
錯(cuò)誤提示
1045-Access denied for user ‘root‘ ‘localhost‘(using password: YES)
1、找到mysql的my.ini文件,在mysqld關(guān)鍵字下面添加skip-grant-tables,如下圖所示:

該命令作用是跳過(guò)授權(quán)表,也就是輸入任意字符賬號(hào)密碼都可以進(jìn)入mysql看到所有數(shù)據(jù)表。
當(dāng)忘記賬號(hào)密碼時(shí)可以使用改命令修改密碼,但是要隨用隨關(guān),重啟mysql,不然服務(wù)器上會(huì)有很大的風(fēng)險(xiǎn)。
2、重啟MySQL服務(wù)
3、在終端中輸入mysql -u root mysql,連接數(shù)據(jù)庫(kù)
4、修改密碼
在終端進(jìn)入中輸入:
update user set password=password("123456") where user="root";如果有報(bào)錯(cuò)
“ERROR 1054 (42S22): Unknown column 'password' in 'field list'”
那么就輸入:
update user set authentication_string=password('123456') where user='root';輸入exit退出,再重新連接數(shù)據(jù),即可連接成功。
mysql數(shù)據(jù)庫(kù)只能本機(jī)連接,不能遠(yuǎn)程鏈接
進(jìn)入mysql數(shù)據(jù)庫(kù)
$mysql -u root -p
>use mysql;
1.>select host,user from user; //查看用戶
MySQL建用戶的時(shí)候會(huì)指定一個(gè)host,默認(rèn)是127.0.0.1/localhost只能本機(jī)訪問(wèn);
其它機(jī)器用這個(gè)用戶帳號(hào)訪問(wèn)會(huì)提示沒(méi)有權(quán)限,host改為%,表示允許所有機(jī)器訪問(wèn)。
2.設(shè)置host為%
>update user set host='%' where user = 'root';
%為任意用戶都有權(quán)限連接,localhost為只能本機(jī)連接,配置完host為%這一步就已經(jīng)能外網(wǎng)訪問(wèn)了
3.授權(quán)用戶具體權(quán)限
>grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
>flush privileges;//刷新權(quán)限
注意: 一定要重啟mysql: # systemctl restart mysqldqiqushuge_comy用戶有兩個(gè),針對(duì)不同的針對(duì)不同的主機(jī)來(lái)控制用戶的訪問(wèn)的。
授權(quán)的時(shí)候grant all privileges on *.* to 'qiqushuge_com'@'localhost' identified by '123456' with grant option;

- all privileges:表示將所有權(quán)限授予給用戶。也可指定具體的權(quán)限,如:SELECT、CREATE、DROP等。
- on:表示這些權(quán)限對(duì)哪些數(shù)據(jù)庫(kù)和表生效,格式:數(shù)據(jù)庫(kù)名.表名,這里寫(xiě)“*”表示所有數(shù)據(jù)庫(kù),所有表。如果我要指定將權(quán)限應(yīng)用到test庫(kù)的user表中,可以這么寫(xiě):test.user
- to:將權(quán)限授予哪個(gè)用戶。格式:”用戶名”@”登錄IP或域名”。%表示沒(méi)有限制,在任何主機(jī)都可以登錄。比如:”yangxin”@”192.168.0.%”,表示yangxin這個(gè)用戶只能在192.168.0IP段登錄
- identified by:指定用戶的登錄密碼
- with grant option:表示允許用戶將自己的權(quán)限授權(quán)給其它用戶
可以使用GRANT給用戶添加權(quán)限,權(quán)限會(huì)自動(dòng)疊加,不會(huì)覆蓋之前授予的權(quán)限,比如你先給用戶添加一個(gè)SELECT權(quán)限,后來(lái)又給用戶添加了一個(gè)INSERT權(quán)限,那么該用戶就同時(shí)擁有了SELECT和INSERT權(quán)限。
查看數(shù)據(jù)庫(kù)授權(quán)的方法:
SHOW GRANTS FOR 'root'@'localhost';
寶塔沒(méi)有放行端口,云服務(wù)器沒(méi)有添加安全組
在寶塔安全里添加端口規(guī)則,放行數(shù)據(jù)庫(kù)默認(rèn)端口3306

在服務(wù)器阿里云、騰訊云等放行端口3306

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL觸發(fā)器運(yùn)用于遷移和同步數(shù)據(jù)的實(shí)例教程
這篇文章主要介紹了MySQL觸發(fā)器運(yùn)用于遷移和同步數(shù)據(jù)的實(shí)例教程,分別是SQL Server數(shù)據(jù)遷移至MySQL以及同步備份數(shù)據(jù)表記錄的兩個(gè)例子,需要的朋友可以參考下2015-12-12
Workbench連接不上阿里云服務(wù)器Ubuntu的Mysql解決方法(已測(cè))
這兩天為了解決workbench連接不上阿里云服務(wù)器的問(wèn)題,搞得頭大,網(wǎng)上搜到的教程都大同小異,但唯獨(dú)到我這就是行不通。不過(guò)好在最后終于解決了,記錄一下這個(gè)坑爹的過(guò)程,另外腳本之家小編特把這些問(wèn)題整理了一下,看完這一篇文章基本上就解決了2020-02-02
CentOS 7中源碼安裝MySQL 5.7.6+詳細(xì)教程
最近在CentOS 7中源碼安裝MySQL 5.7.6+,發(fā)現(xiàn)MySQL5.7.6+以后的安裝方式真的與以前版本的MySQL安裝方式大大的不同呀。不自己安裝一把,你都不知道不同之處在哪,下面這篇文章是通過(guò)自己的安裝過(guò)程總結(jié)的一篇安裝教程,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-12-12
SQL匯總統(tǒng)計(jì)與GROUP BY過(guò)濾查詢實(shí)現(xiàn)
這篇文章主要介紹了SQL匯總統(tǒng)計(jì)與GROUP BY過(guò)濾查詢實(shí)現(xiàn),GROUP BY 實(shí)質(zhì)是先排序后分組,遵照索引建的最佳左前綴。當(dāng)無(wú)法使用索引時(shí),增大max_length_for_sort_data和sort_buffer參數(shù)的值2023-01-01
生產(chǎn)環(huán)境的MySQL事務(wù)隔離級(jí)別方式
本文探討了MySQL數(shù)據(jù)庫(kù)在RR(可重復(fù)讀)和RC(讀已提交)隔離級(jí)別下的鎖機(jī)制,在RR級(jí)別下,UPDATE語(yǔ)句會(huì)鎖定所有符合條件的行,包括不符合條件的行,以防止幻讀,而在RC級(jí)別下,UPDATE語(yǔ)句僅鎖定符合條件的行,通過(guò)半一致性讀優(yōu)化,可以進(jìn)一步提高并發(fā)度2025-02-02

