當服務器沒有運行PHP、沒裝phpMyAdmin的時候,遠程管理MySQL就顯得有必要了。
第一步:開啟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;
如果想允許用戶root從ip為192.168.137.99的主機連接到MySQL服務:
grant all privileges on *.* to 'root'@'192.168.137.99' identified by '123456' with grant option; flush privileges;
第二步:設置防火牆,讓 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
注意:上面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
遠程管理數據庫的軟件,Windows系統下可以使用SQLyog,用了幾種遠程軟件,感覺這個用起來蠻不錯的。
【附加說明】若安裝了phpMyAdmin,也可按如下方式修改用戶權限: