MySQL無法遠端連線的解決方案

來源:互聯網
上載者:User

上次搞完了SQL Server 2005的遠端連線,現在輪到MySQL了...回想下串連MySQL資料庫的連接字串:

Server=localhost;Database=gyl;Uid=root;Pwd=111111; 

Server的值是localhost吧...是支援本地的嘛..遠程想想無非就是把localhost改成IP地址,想得簡單,可它就是報錯...

錯誤說明: Host '60-248-32-13.HINET-IP.hinet.net' is not allowed to connect to this MySQL server

其實不是MySQL預設不支援遠程,是MySQL的預設使用者root預設不支援遠程,因為是localhost...

說白了,也就是許可權問題,root使用者的Host預設就是localhost...

以下解決方案是重建立了一個使用者,支援遠端存取,而不用去修改root的許可權,建議這樣做,呼呼...

 

1.首先用root使用者登陸

2.輸入以下語句,用於建立新使用者,並賦予相應許可權

grant select,insert,update,delete on [db_name].* to [username]@[ip_address] identified by '[password]'; 

說明:

[db_name]: 表示欲開放給新使用者的資料庫名稱

[username]: 新使用者的使用者名稱
[password]: 新使用者的密碼,包函上引號( ' )

[ip_address]: IP地址或者IP反查後的DNS Name

 

重點說明: (本人經曆的,(~ o ~)~zZ)

(1).如果想賦予所有操作的許可權

  grant all on ... to 使用者名稱......

(2).如果想賦予操作所有資料庫的所有表的許可權

  grant ... on *.* to 使用者名稱......

(3).如果想賦予某個資料庫的所有表

  grant ... on 資料庫名稱.'*' to 使用者名稱...... ([ * ]兩邊一定要加單引號)

(4).如果想賦予某個資料庫的某張表

  grant ... on 資料庫名稱.表名 to 使用者名稱......

(5).如果想任何用戶端都能通過該使用者名稱遠端存取

  grant ... on ... to 使用者名稱@% ....... (要把IP地址改成[ % ])

(6).改完了以後一定要重新啟動MySQL服務

 

其他說明: 

想看到這些使用者都在哪張表裡了嗎....請執行

 use mysql;
 select host,user,password from user;

 host欄位表示登陸的主機...

 

好了...寫完啦...睡覺去...爸爸媽媽晚安...嘻\(^o^)/~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.