您在遠程訪問MySql時遇到問題。從here
首先,登錄通過SSH遠程MySQL數據庫服務器
一旦連接你需要使用vi等文本編輯器編輯mysql配置文件my.cfg。
在Debian的Linux文件位於/etc/mysql/my.cnf
# vi /etc/my.cnf
- 第3步:一旦文件打開,找到讀作[mysqld的]線
確保條跳躍聯網是評論(或刪除線)並添加以下行
bind-address=YOUR-SERVER-IP
對於e xample,如果你的MySQL服務器的IP是172.20.5.2,然後整個塊應該像下面這樣:
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/English
bind-address = 172.20.5.2
# skip-networking
....
..
....
凡 - 綁定地址:IP地址綁定到。 - 跳過網絡:根本不要偵聽TCP/IP連接。所有與mysqld的交互都必須通過Unix套接字進行。強烈建議僅允許本地請求的系統使用此選項。由於您需要允許遠程連接,因此應將此行從文件中刪除或將其置於註釋狀態。
重新啓動mysql服務採取改變生效
# /etc/init.d/mysql restart
步驟#遠程IP地址5授予訪問
#的mysql -u根 - P的MySQL
授予訪問權限新的數據庫
如果你想添加一個名爲foo的用戶欄和遠程IP 162.54.10.20,那麼你需要在mysql的輸入下面的命令>提示符下新的數據庫:
mysql> CREATE DATABASE foo;
mysql> GRANT ALL ON foo.* TO [email protected]'162.54.10.20' IDENTIFIED BY 'PASSWORD';
授予訪問現有數據庫
讓我們假設你總是通過名爲162.54.10.20的遠程IP爲用戶webadmin的名爲webdb的數據庫建立連接,那麼你需要授予對此IP地址的訪問權限。在MySQL的>提示類型以下對現有數據庫的命令:
mysql> update db set Host='162.54.10.20' where Db='webdb';
mysql> update user set Host='162.54.10.20' where user='webadmin';
鍵入退出命令登出的MySQL
mysql> exit
從遠程系統類型命令
$ mysql -u webadmin –h 172.20.5.2 –p
您還可以使用telnet連接到端口3306進行測試的目的
$ telnet 172.20.5.2 3306
在步驟5,我得到'「根」 @'localhost''再次否認。/etc/hostname = localhost。我錯過了什麼嗎? – 2013-04-10 17:54:42