遠程沒法鏈接mysql

 mysql開啓遠程鏈接html

今天在服務器安裝了mysql,準備用mysqlguitools遠程登陸的時候出錯,提示:Host 'xxx' is not allowed to connect to this MySQL server。網上找了一些資料,是mysql未開啓mysql遠程訪問權限致使。mysql

記錄解決方案供之後參考。:sql

1.登陸到mysql:  mysql -uroot -ppwd數據庫

2.查看user表: 服務器

mysql> use mysql
Database changed
mysql> select host,user,password from user;
+------+------+-------------------------------------------+
| host | user | password |
+------+------+-------------------------------------------+
| localhost    | root | *826960FA9CC8A87953B3156951F3634A80BF9853 |
+------+------+-------------------------------------------+
1 row in set (0.00 sec)ide

表中host、user字段標識了能夠訪問數據庫的主機和用戶。例如上面的數據就表示只能本地主機經過root用戶訪問。原來如此,難怪遠程鏈接死活連不上。ui

爲了讓數據庫支持遠程主機訪問,有兩種方法能夠開啓遠程訪問功能。this

第一種(改表法):.net

修改host字段的值,將localhost修改爲須要遠程鏈接數據庫的ip地址。或者直接修改爲%。修改爲%表示,全部主機均可以經過root用戶訪問數據庫。爲了方便,我直接修改爲%。命令:mysql> update user set host = '%' where user = 'root';server

再次查看user表

+------+------+-------------------------------------------+
| host | user | password |
+------+------+-------------------------------------------+
| % | root | *826960FA9CC8A87953B3156951F3634A80BF9853 |
+------+------+-------------------------------------------+
1 row in set (0.00 sec)

修改爲功,輸入命令mysql> FLUSH PRIVILEGES; 回車使剛纔的修改生效,再次遠程鏈接數據庫成功。

第二種(受權法):

例如,你想root使用mypassword從任何主機鏈接到mysql服務器的話。 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; 

 


若是你想容許用戶myuser從ip爲192.168.1.3的主機鏈接到mysql服務器,並使用mypassword做爲密碼 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 
'mypassword' WITH GRANT OPTION; 

輸入命令mysql> FLUSH PRIVILEGES; 回車使剛纔的修改生效,再次遠程鏈接數據庫成功。bingo.

別忘記最後的FLUSH PRIVILEGES; 刷新先前的修改。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

以上轉載自https://www.cnblogs.com/vathena/p/4012399.html

 

首先遇到「can't connect to mysql server 10061」
經過查看/etc/mysql/my.cnf找到bind-address=127.0.0.1,直接改成
bind-address=192.168.0.xxx(本機ip)
以後重啓mysql就OK了。

參考鏈接

而後又遇到「host is not allowed to connect to this mysql server」
解決方案:
如何開啓MySQL的遠程賬號-1)首先以 root 賬戶登錄 MySQL


在 Windows 主機中點擊開始菜單,運行,輸入「cmd」,進入控制檯,而後cd 進入MySQL 的 bin 目錄下,而後輸入下面的命令。
        > MySQL -uroot -p123456                 (123456 爲 root 用戶的密碼。)


 


如何開啓MySQL的遠程賬號-2)建立遠程登錄用戶並受權
        > grant all PRIVILEGES on test_db.* to root@'192.168.1.101'  identified by '123456';


 


上面的語句表示將 test_db 數據庫的全部權限受權給 root 這個用戶,容許 root 用戶在 192.168.1.101 這個 IP 進行遠程登錄,並設置 root 用戶的密碼爲 123456 。

參考連接

相關文章
相關標籤/搜索