2012年2月18日

讓 mysql 可以從遠端連進來 (ERROR 2003 (HY000): Can't connect to MySQL server on ... (110))

若想要在 client 端連到遠端 server (ubuntu 作業環境)
以進行 mysqldum, synchronize (in phpmyadmin) 備份或同步工作, 但出現像這樣的錯誤訊息:

ERROR 2003 (HY000): Can't connect to MySQL server on '14x.13x.9x.4x' (110)

這是因為在 ubuntu 的預設 LAMPP 環境下, mySQL 是預設只能從本機連進去, 要變成可以從遠連入, 請進行以下設定步驟:

1. 用 ssh 連到 server.xxx.xxx.xxx
    ssh name@ip.xx.xx
2. 修改 my.cnf
    sudo vim /etc/mysql/my.cnf
    將其中的這一行 mark 起來 (在最前面加上 #)

   #   bind-address             = 127.0.0.1

    按 ESC, :, w,q 以寫入檔案,

3. 重新啟動 mysql
    sudo /etc/init.d/mysql restart

4. 利用 phpmyadmin 新增一個使用者 (例如 tester), 給予遠端存取權限
    連到 phpmyadmin 後, 選「權限」、「新增使用者」, 注意在「主機」欄位, 填入「%」,
    表示允許任何主機均可連入 (這樣其實比較不安全, 不過你可以自訂 ip 範圍)...
    網路上說, 或許可以填入
       tester@192.168.10.%
    代表限制 IP 範圍 (這樣可能安全一點)

5. 回到 client 端, 試以下指令


    mysql -h server.xx.xx.xx -u tester -p

如果連上了, 應該會出現

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is xx
Server version: x.x.xx-3ubuntu1x.x (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> \q

沒有留言: