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 mysqld
qiqushuge_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)文章
Windows Server 2003下修改MySQL 5.5數(shù)據(jù)庫(kù)data目錄
這篇文章主要介紹了Windows Server 2003下修改MySQL 5.5數(shù)據(jù)庫(kù)data目錄,需要的朋友可以參考下2016-04-04MySQL外鍵關(guān)聯(lián)操作的實(shí)現(xiàn)
本文主要介紹了MySQL外鍵關(guān)聯(lián)操作的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07MySQL中數(shù)據(jù)導(dǎo)入恢復(fù)的簡(jiǎn)單教程
這篇文章主要介紹了MySQL中數(shù)據(jù)導(dǎo)入恢復(fù)的簡(jiǎn)單教程,主要用到了LOAD DATA語(yǔ)句,需要的朋友可以參考下2015-05-05使用MySQL建立外鍵約束時(shí)報(bào)錯(cuò)3780的解決方案
在創(chuàng)建MySQL外鍵約束時(shí),報(bào)錯(cuò)3780通常是因?yàn)橹鞅砗蛷谋碇袑?duì)應(yīng)字段的數(shù)據(jù)類(lèi)型不一致,使用Navicat可視化界面修改數(shù)據(jù)類(lèi)型,即可解決此問(wèn)題,這是一個(gè)常見(jiàn)的數(shù)據(jù)庫(kù)設(shè)計(jì)錯(cuò)誤,確保數(shù)據(jù)類(lèi)型一致是關(guān)鍵2024-11-11使用innodb_force_recovery解決MySQL崩潰無(wú)法重啟問(wèn)題
這篇文章主要介紹了使用innodb_force_recovery解決MySQL崩潰無(wú)法重啟問(wèn)題,這只一個(gè)成功案例,并不是萬(wàn)能的解決方法,需要酌情考慮,需要的朋友可以參考下2015-05-05庫(kù)名表名大小寫(xiě)問(wèn)題與sqlserver兼容的啟動(dòng)配置方法
庫(kù)名表名大小寫(xiě)問(wèn)題與sqlserver兼容的啟動(dòng)配置方法,需要的朋友可以參考下。2010-12-12