解決MySQL無法遠程連接的方法
MySql遠程連接無法打開解決辦法
1、改表法。
請使用mysql管理工具,如:SQLyog Enterprise、navicate mysql
可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦使用mysql管理工具登入mysql后,更改 "mysql" 數(shù)據(jù)庫里的 "user" 表里的 "host" 項,從"localhost"改稱"%"
2、 授權(quán)法。
A:你想mysql賬戶myuser使用密碼mypassword從任何主機連接到mysql服務器的話,那就在mySQL命令行下輸入:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
若上面那條命令還沒有奏效,那就使用下面的命令,一定成功!
如果你想允許想mysql賬戶myuser從ip為192.168.1.3的主機連接到mysql服務器,并使用mypassword作為密碼,那就在mySQL命令行下輸入:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
以下是其它網(wǎng)友的補充:
在遠程主機上,我開啟了mysql 服務,用 phpmyadmin 可以打開,比如說用戶名為 root,密碼為 123456。不過用 Mysql 客戶端遠程連接時卻報了錯誤,比如 Mysql-Front 報了如下錯誤。
Access denied for user ‘root'@'121.42.8.33′(using password:YES)
比較奇怪,phpmyadmin 可以正常訪問,而 Mysql-Front 為什么無法連接呢?可能的原因,應該就是 IP 限制了,phpmyadmin在連接時使用的是localhost,而我們訪問頁面才使用的遠程主機的 IP,而 Mysql-Front 連接的是遠程主機。
解決方法如下,我們需要新建一個用戶,然后授予所有 IP 可以訪問的權(quán)限就好啦。
在下面的 sql 語句中,username 即為用戶名,password 為你要設(shè)置的密碼:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION; CREATE USER 'username'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION; CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION; CREATE USER 'username'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
通過執(zhí)行以上語句,便創(chuàng)建了一個用戶名為 username,密碼為 password 的新賬戶,再用新賬號登錄,就可以連接成功啦。
相關(guān)文章
MySQL創(chuàng)建用戶和權(quán)限管理的方法
這篇文章主要介紹了MySQL創(chuàng)建用戶和權(quán)限管理的方法,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下2020-07-07Mysql 5.7.18安裝方法及啟動MySQL服務的過程詳解
這篇文章主要介紹了Mysql 5.7.18安裝方法及啟動MySQL服務的過程,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-05-05windows下mysql 8.0.12安裝步驟及基本使用教程
這篇文章主要為大家詳細介紹了windows下mysql 8.0.12安裝步驟及基本使用教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-08-08