配置遠程連接mysql數據庫Connecttoremotemysqldatabase
設有本地機器(local machine), ip地址為localip
遠程機器(remote machine), ip地址remoteip
要通過在local machine的終端連接remote machine的mysql數據庫,並且對數據庫進行操作。
1.在local和remote均安裝好mysql,安裝方法參考另一篇博客。
2.在本地ssh連接到遠程host
$ ssh remoteuser@remoteip
3.打開遠程host的mysql,為local添加用戶。
$ mysql -uroot -p
mysql>GRANT ALL ON *.* TO mysqluser@'localip' IDENTIFIED BY 'my_password';
//上述的GRANT 語句意思是在localip上創建一個mysql用戶mysqluser,並且賦予該用戶對本mysql的所有數據庫的所有權限。
4.查看步驟3的結果
mysql>select Host, User, Password from mysql.user;
5.完成上述四個步驟後,在本地連接遠程的mysql一般會失敗,此時的原因有多種。
自己的情況是進行了鏈接中的Step # 7: Open port 3306.
在步驟4以後輸入quit退出mysql,但此時終端的host仍然是遠程host。執行,
$ sudo /sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
$ sudo service iptables save
6.輸入一下命令退出遠程host,測試能否連接到遠程的mysql
$ exit
$ nc -z -w1 65.55.55.2 3306
如果顯示:Connection to port 3306 [tcp/mysql] succeeded!
則成功。便可以用mysql命令連接遠程mysql。
$ mysql -u mysqluser -h remoteip -p