1. 程式人生 > >MySQL 遠端連線配置的正確實現

MySQL 遠端連線配置的正確實現

http://database.51cto.com/art/201006/204537.htm 

此文章主要向大家描述的是MySQL 遠端連線配置的實際操作步驟,以及在其實際操作中值得我們大家注意的相關事項的描述, 以下就是具體方案的描述,希望在你今後的學習中會有所幫助。

MySQL遠端配置


  
  1. GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY 'your paaaword'; 

%表示多有機器。

開啟3306埠,為防火牆設定例外,放行3306.

以下是網上選摘

1。改表法

可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入MySQL後,更改 “MySQL” 資料庫裡的 “user” 表裡的 “host” 項,從“localhost”改稱“%”


  
  1. MySQL -u root -pvmwareMySQL>use MySQL;  
  2. MySQL>update user set 
    host = ‘%’ where user = ‘root’;  
  3. MySQL>select host, user from user; 

2. 授權法

例如,你想myuser使用mypassword從任何主機連線到MySQL伺服器的話。


  
  1. GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;  
  2. FLUSH PRIVILEGES; 

如果你想允許使用者myuser從ip為192.168.1.6的主機連線到MySQL伺服器,並使用mypassword作為密碼


  
  1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;   
  2. FLUSH PRIVILEGES; 

我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句 MySQL>FLUSH PRIVILEGES
使修改生效.就可以了

開啟MySQL資料庫的遠端連線許可權:


  
  1. grant all privileges on *.* to 'root' @'%' identified by 'wrx123';  
  2. flush privileges; 

開啟MySQL的遠端連線把你的HOST欄位改成 % ,表示任何地址的都可以用此帳號登入,或你也可以定IP


  
  1. MySQL>GRANT ALL on *.* to [email protected]% identified by “456″; 

注意:MySQL所在主機防火牆的問題,埠3306.

原文參看http://hi.baidu.com/zham/blog/item/3a6a8018c0d283b34bedbc40.html

 

 

命令列如何遠端連線MySQL資料庫

新使用MySQL,說起來是個簡單的事情,但是卻費了些周折:

1、登陸伺服器端,進入命令列,windows cmd;

2、設定使用者、密碼讓指定的IP訪問:mysql -u root -p 或安裝的快捷方式進入:MySQL Command Line Client,使用grant命令:

grant 許可權1,許可權2,…許可權n on 資料庫名稱.表名稱 to 使用者名稱@使用者地址 identified by '連線口令';

例子:

mysql>grant select,insert,update,delete,create,drop on mydb.mytable to [email protected] identified by 'mypassword';
給來自192.168.1.88的使用者lzpddd分配可對資料庫 mydb的mytable表進行select,insert,update,delete,create,drop等操作的許可權,並設定口令為'mypassword';

mysql>grant all privileges on *.* to [email protected] identified by 'mypassword';

給來自192.168.1.88的使用者lzpddd分配可對所有資料庫的所有表進行所有操作的許可權限,並設定口令為'mypassword';

mysql>grant all privileges on *.* to [email protected]'%' identified by 'mypassword';

給來自任何IP地址的使用者lzpddd分配可對所有資料庫的所有表進行所有操作的許可權限,並設定口令為'mypassword';

3、關閉伺服器端防火牆或者開放3306埠(很重要);

 

4、客戶端連線:

進入命令列,windows cmd,連線:

mysql -u 使用者名稱 -p密碼 -h 伺服器IP地址 -P 伺服器端MySQL埠號 -D 資料庫名

注意:

    (1)伺服器埠標誌-P一定要大些以區別於使用者-p,如果直接連線資料庫標誌-D也要大寫;

    (2)如果要直接輸入密碼-p後面不能留有空格如-pmypassword;

    (3)命令結束段沒有';'分號。

例子:

mysql -u lzpddd -pmypassword -h 192.168.1.88 -P 3306 -D mydb