mysql設置遠端連線許可權mysql -u root -p mysql # 第1個mysql是執行命令,第2個mysql是系統資料名稱在mysql主控台執行:

 

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

 

# root是使用者名,%代表任意主機,'123456'指定的登錄密碼(這個和本地的root密碼可以設置不同的,互不影響)

 

flush privileges; # 重載系統許可權

 

exit;
允許3306埠

 

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

 

# 查看規則是否生效

 

iptables -L -n # 或者: service iptables status




# 此時生產環境是不安全的,遠端系統管理之後應該關閉埠,刪除之前添加的規則

 

iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
PS,上面iptables添加/刪除規則都是臨時的,如果需要重啟後也生效,需要保存修改:
service iptables save # 或者: /etc/init.d/iptables save
另外,
vi /etc/sysconfig/iptables # 加上下面這行規則也是可以的
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

 

遠端管理資料庫的軟體,win系統下可以使用SQLyog,用了幾種遠端軟體,感覺這個用起來蠻不錯的。



CentOS下開啟mysql遠端連線,遠端管理資料庫




當伺服器沒有運行php、沒裝phpmyadmin的時候,遠端系統管理mysql就顯得有必要了。因為在CentOS下設置的,所以標題加上了CentOS,以下的命令在debian等系統下應該也OK。

 

mysql -u root -p mysql # 第1個mysql是執行命令,第2個mysql是系統資料名稱在mysql主控台執行:

 

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
# root是使用者名,%代表任意主機,'123456'指定的登錄密碼(這個和本地的root密碼可以設置不同的,互不影響)
flush privileges; # 重載系統許可權
exit;允許3306埠

 

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
# 查看規則是否生效
iptables -L -n # 或者: service iptables status

 

5.# 此時生產環境是不安全的,遠端系統管理之後應該關閉埠,刪除之前添加的規則
iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPTPS,上面iptables添加/刪除規則都是臨時的,如果需要重啟後也生效,需要保存修改:
service iptables save # 或者: /etc/init.d/iptables save
另外,
vi /etc/sysconfig/iptables # 加上下面這行規則也是可以的
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

 

遠端管理資料庫的軟體,win系統下可以使用SQLyog,用了幾種遠端軟體,感覺這個用起來蠻不錯的。





以下的文章主要介紹的是實現MySQL遠端連線的實際操作流程,本文主要是由其相關的實際應用代碼來引出MySQL遠端連線的具體操作步驟,以下就是文章的主要內容描述,希望會給你帶來一些説明在此方面。

 

1、進入MySQL,創建一個新使用者root,密碼為root:

 

格式:grant 許可權 on 資料庫名.表名 to 使用者@登錄主機 identified by "使用者密碼";

 

grant select,update,insert,delete on *.* to root@192.168.1.12 identified by "root";
原先資料表結構

 

MySQL> use MySQL;
Database changed
MySQL> select host,user,password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+
執行上述語句後結果

 

MySQL> use MySQL;
Database changed
MySQL> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host | user | password |
+--------------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)
可以看到在user表中已有剛才創建的root使用者。host欄位表示登錄的主機,其值可以用IP,也可用主機名稱,

 

(1)有時想用本地IP登錄,那麼可以將以上的Host值改為自己的Ip即可。

 

2、實現MySQL遠端連線(授權法www.it165.net)

 

將host欄位的值改為%就表示在任何用戶端機器上能以root使用者登錄到MySQL伺服器,建議在開發時設為%。

 

update user set host = ’%’ where user = ’root’;
將許可權改為ALL PRIVILEGES

 

MySQL> use MySQL;
Database changed
MySQL> grant all privileges on *.* to root@'%' identified by "root";
Query OK, 0 rows affected (0.00 sec)
MySQL> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host | user | password |
+--------------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| % | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)

 

這樣機器就可以以使用者名root密碼root遠端存取該機器上的MySQL.

 

3、實現MySQL遠端連線(改表法)

 

use MySQL;
update user set host = '%' where user = 'root';
這樣在遠端就可以通過root使用者訪問MySQL.
 
來源:
http://biancheng.dnbcw.info/mysql/287332.html
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()