linux下mysql的遠端連線

來源:互聯網
上載者:User

標籤:

在伺服器上安裝mysql後,想使用本地的mysql用戶端串連資料庫時,提示不允許串連,比較鬱悶,找到了這篇文章解決了我的問題:

內容如下:

 

本機電腦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 [email protected]‘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://blog.chinaunix.net/uid-28458801-id-3445261.html

linux下mysql的遠端連線

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.