萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql遠程連接及mysql授權方法

mysql遠程連接及mysql授權方法

Linux環境下,安裝mysql完成之後,就可以使用root帳戶,操作本地數據庫了。如果使用服務器端程序腳本(php)或者遠程連接mysql,來訪問和操作localhost的mysql,就需要給mysql用戶授權

遠程訪問,不想公布root賬戶,可以在mysql數據庫user表創建一個demo賬戶,允許demo賬戶在任何地方都能訪問mysql數據庫中的指定庫。下面是具體操作:

在安裝mysql的機器上運行,選擇mysql這個庫:
1:需要創建user用戶demo,密碼為:123456

 代碼如下 復制代碼

 
CREATE USER demo IDENTIFIED BY “123456”

2:給demo用戶授權(這裡指定shandong這個數據庫的所有權限)並可以遠程訪問:

 

 代碼如下 復制代碼 GRANT ALL PRIVILEGES ON shandong.* TO 'demo'@'%'WITH GRANT OPTION

上兩條sql可以直接使用下面一條sql操作實現,賦予任何主機訪問數據的權限。

 代碼如下 復制代碼  
GRANT ALL PRIVILEGES ON shandong.* TO 'demo'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;

3:修改生效:

 

 代碼如下 復制代碼 FLUSH PRIVILEGES;

退出mysql服務器,這樣就可以在其它任何的主機上以demo身份登錄。

常見遠程連接mysql報錯解決方法:
1、當用客戶端連接 mysql 時,發現無法連接,看來需要對用戶進行重新授權。操作如下:

 

 代碼如下 復制代碼  grant ALL PRIVILEGES ON *.* to root@"%" identified by "mysql" WITH GRANT OPTION;

此刻, root 可以被遠程連接mysql,當然這裡建立其他非 root 用戶也可以遠程連接。

2、MySQL 1130錯誤解決方法:

通過MySQL-Front或MySQL administrator連接MySQL的時候發生的這個錯誤,
 
ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server

說明所連接的用戶帳號沒有遠程連接的權限,只能在本機(localhost)登錄,需更改 MySQL 數據庫裡的 user表裡的 host項,把localhost改稱%。操作如下:
 

 代碼如下 復制代碼 update user set host='%' where user = 'root';
 
flush privileges;//使權限立刻生效

再遠程連接mysql,連接...成功!

copyright © 萬盛學電腦網 all rights reserved