1. 程式人生 > >Ubuntu下允許遠端連線MySQL資料庫

Ubuntu下允許遠端連線MySQL資料庫

前幾天把自己的網站搭建起來之後,除錯的時候,直接的Ubuntu的命令列中,對資料庫進行了修改。

後來覺得太不方便了,所以就打算使用本機的視覺化介面操作資料庫,沒想到發生了一些問題。

為了幫助其他的同學我把問題和解決方案放在這裡。

系統:阿里雲伺服器(Ubuntu系統)

首先下載和安裝Navicat,然後點選連結,建立新的連結。配置連結資訊。

問題:當我測試連線的時候出現了,如下圖得問題。

解決方案:允許ubuntu下mysql遠端連線 。假設使用者為root,密碼為root,資料庫為wsyw126

具體過程如下:

1、在目標伺服器上(121.42.186.99),修改mysql的my.cnf檔案:

vim /etc/mysql/my.cnf

2、註釋掉bind-address,遮蔽其只對本地監聽,新增#號

#bind-address        = 127.0.0.1

3、啟動MySQL服務,使其修改的配置生效

sudo restart mysql

配置完了伺服器的資料訪問許可權,此時還是不能遠端訪問MySQL資料庫

這是因為現在還沒有對伺服器上的資料庫或表賦予訪問許可權(GRANT)

4、在伺服器上,登入MySQL資料庫

mysql -uroot -proot

5、對資料庫wsyw126賦予許可權

grant all privileges on wsyw126.* to [email protected]

"%" identified by 'root';

flush privileges;

解釋:

授權使用者能進行遠端連線

grant all privileges on *.* to [email protected]"%" identified by "password" with grant option;

flush privileges;

第一行命令解釋如下,*.*:第一個*代表資料庫名;第二個*代表表名。這裡的意思是所有資料庫裡的所有表都授權給使用者。root:授予root賬號。“%”:表示授權的使用者IP可以指定,這裡代表任意的IP地址都能訪問MySQL資料庫。“password”:分配賬號對應的密碼,這裡密碼自己替換成你的mysql root帳號密碼。

第二行命令是重新整理許可權資訊,也即是讓我們所作的設定馬上生效。

6、現在可以遠端訪問伺服器上的MySQL,連結介面如下:
(使用命令列連結:mysql -h121.42.186.99 -uroot -proot)


其他命令

授權資訊在資料庫:mysql中。

use mysql

1、在伺服器上刪除使用者對資料庫的訪問許可權:

revoke all privileges on wsyw126.* from [email protected] identified by 'root';

2、在伺服器上刪除使用者root:

delete from user where user='root';

3、在修改生效:

flush privileges;

備註
轉載請註明出處:http://blog.csdn.net/wsyw126/article/details/51637057
作者:WSYW126

相關推薦

no