本地計算機ip:192.168.1.100
遠程計算機ip:192.168.1.244
遠程計算機打開 mysql 服務器:#/etc/init.d/mysql.server start
本地計算機連接遠程 mysql服務器:./mysql -h "192.168.1.244" -u root -p
發生以下錯誤:
ERROR 1130 (HY000): Host '192.168.1.100' is not allowed to connect to this MySQL server
出現這種情況是因為mysql服務器出於安全考慮,默認只允許本地登錄數據庫服務器。
解決方法:
1,遠程計算機(ip:192.168.1.244)執行如下:
開啟服務器:/etc/init.d/mysql.server start
登陸服務器:bin/mysql -u root -p
使用服務器:mysql> use mysql
創建遠程登陸用戶並授權 :
mysql> grant all PRIVILEGES on test.* to andy@'192.168.1.100' identified by '123456';
上面的語句表示將 test 數據庫的所有權限授權給 andy 這個用戶,允許 andy 用戶在 192.168.1.100這個 IP 進行遠程登陸,並設置 andy 用戶的密碼為 123456 。
下面逐一分析所有的參數:
all PRIVILEGES 表示賦予所有的權限給指定用戶,這裡也可以替換為賦予某一具體的權限,例如:select,insert,update,delete,create,drop 等,具體權限間用“,”半角逗號分隔。
test.* 表示上面的權限是針對於哪個表的,test 指的是數據庫,後面的 * 表示對於所有的表,由此可以推理出:對於全部數據庫的全部表授權為“*.*”,對於某一數據庫的全部表授權為“數據庫名.*”,對於某一數據庫的某一表授權為“數據庫名.表名”。
andy 表示你要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的用戶。
192.168.1.100 表示允許遠程連接的 IP 地址,如果想不限制鏈接的 IP 則設置為“%”即可。
123456 為用戶的密碼。
執行了上面的語句後,再執行下面的語句,方可立即生效。
> flush privileges;
2,本地計算機(ip:192.168.1.100):
執行如下:./mysql -h 192.168.1.244 -u andy -p 123456
顯示如下:
轉發請注明出處:http://www.cnblogs.com/fnlingnzb-learner/p/5830661.html
http://xxxxxx/Linuxjc/1155077.html TechArticle