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

該命令作用是跳過授權(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ù)庫
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ù)庫只能本機(jī)連接,不能遠(yuǎn)程鏈接
進(jìn)入mysql數(shù)據(jù)庫
$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ī)訪問;
其它機(jī)器用這個(gè)用戶帳號(hào)訪問會(huì)提示沒有權(quán)限,host改為%,表示允許所有機(jī)器訪問。
2.設(shè)置host為%
>update user set host='%' where user = 'root';
%為任意用戶都有權(quán)限連接,localhost為只能本機(jī)連接,配置完host為%這一步就已經(jīng)能外網(wǎng)訪問了
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ī)來控制用戶的訪問的。
授權(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ù)庫和表生效,格式:數(shù)據(jù)庫名.表名,這里寫“*”表示所有數(shù)據(jù)庫,所有表。如果我要指定將權(quán)限應(yīng)用到test庫的user表中,可以這么寫:test.user
- to:將權(quán)限授予哪個(gè)用戶。格式:”用戶名”@”登錄IP或域名”。%表示沒有限制,在任何主機(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)限,后來又給用戶添加了一個(gè)INSERT權(quán)限,那么該用戶就同時(shí)擁有了SELECT和INSERT權(quán)限。
查看數(shù)據(jù)庫授權(quán)的方法:
SHOW GRANTS FOR 'root'@'localhost';
寶塔沒有放行端口,云服務(wù)器沒有添加安全組
在寶塔安全里添加端口規(guī)則,放行數(shù)據(jù)庫默認(rèn)端口3306

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

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

