mysql數據庫連接失敗常見問題小結
錯誤提示:1045-Access denied for user ‘root‘ ‘localhost‘(using password: YES)
1、找到mysql的my.ini文件,在mysqld關鍵字下面添加skip-grant-tables,如下圖所示:
該命令作用是跳過授權表,也就是輸入任意字符賬號密碼都可以進入mysql看到所有數據表。
當忘記賬號密碼時可以使用改命令修改密碼,但是要隨用隨關,重啟mysql,不然服務器上會有很大的風險。
2、重啟MySQL服務
3、在終端中輸入mysql -u root mysql
,連接數據庫
4、修改密碼
在終端進入中輸入:
update user set password=password("123456") where user="root";
如果有報錯“ERROR 1054 (42S22): Unknown column 'password' in 'field list'”
那么就輸入:update user set authentication_string=password('123456') where user='root';
輸入exit退出,再重新連接數據,即可連接成功。
mysql數據庫只能本機連接,不能遠程鏈接
進入mysql數據庫 $mysql -u root -p >use mysql; 1.>select host,user from user; //查看用戶 MySQL建用戶的時候會指定一個host,默認是127.0.0.1/localhost只能本機訪問; 其它機器用這個用戶帳號訪問會提示沒有權限,host改為%,表示允許所有機器訪問。 2.設置host為% >update user set host='%' where user = 'root'; %為任意用戶都有權限連接,localhost為只能本機連接,配置完host為%這一步就已經能外網訪問了 3.授權用戶具體權限 >grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; >flush privileges;//刷新權限 注意: 一定要重啟mysql: # systemctl restart mysqld
qiqushuge_comy用戶有兩個,針對不同的針對不同的主機來控制用戶的訪問的。授權的時候grant all privileges on *.* to 'qiqushuge_com'@'localhost' identified by '123456' with grant option;
- all privileges:表示將所有權限授予給用戶。也可指定具體的權限,如:SELECT、CREATE、DROP等。
- on:表示這些權限對哪些數據庫和表生效,格式:數據庫名.表名,這里寫“*”表示所有數據庫,所有表。如果我要指定將權限應用到test庫的user表中,可以這么寫:test.user
- to:將權限授予哪個用戶。格式:”用戶名”@”登錄IP或域名”。%表示沒有限制,在任何主機都可以登錄。比如:”yangxin”@”192.168.0.%”,表示yangxin這個用戶只能在192.168.0IP段登錄
- identified by:指定用戶的登錄密碼
- with grant option:表示允許用戶將自己的權限授權給其它用戶
可以使用GRANT給用戶添加權限,權限會自動疊加,不會覆蓋之前授予的權限,比如你先給用戶添加一個SELECT權限,后來又給用戶添加了一個INSERT權限,那么該用戶就同時擁有了SELECT和INSERT權限。
查看數據庫授權的方法:
SHOW GRANTS FOR 'root'@'localhost';
寶塔沒有放行端口,云服務器沒有添加安全組
在寶塔安全里添加端口規(guī)則,放行數據庫默認端口3306
在服務器阿里云、騰訊云等放行端口3306
總結
到此這篇關于mysql數據庫連接失敗常見問題的文章就介紹到這了,更多相關mysql數據庫連接失敗內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mysql中自增auto_increment功能的相關設置及問題
mysql中的自增auto_increment功能相信每位phper都用過,本文就為大家分享一下mysql字段自增功能的具體查看及設置方法2012-12-12MySQL安裝提示"請鍵入NET HELPMSG 3534以獲得更多的幫助"的解決辦法
這篇文章主要介紹了MySQL安裝提示"請鍵入NET HELPMSG 3534以獲得更多的幫助"的解決辦法2017-03-03mysql5.5與mysq 5.6中禁用innodb引擎的方法
這篇文章主要介紹了mysql5.5中禁用innodb引擎的方法,需要的朋友可以參考下2014-04-04