遠端連線MySQL伺服器

來源:互聯網
上載者:User

標籤:roo   oca   命令   inf   串連mysql   用戶端   使用   檢查   sql   

在CentOS虛擬機器上安裝好了MySQL服務以後,在windows上用Workbench用戶端去串連時碰到很多問題,現在把解決過程記錄一下。

1.在Windows上ping CentOS IP是可以ping通的,在Workbench上配置好後出現如下提示,

在Windows命令列裡輸入 telnet 192.168.199.129 3306 執行,也得到:could not open connection to the host, on port 3306 這樣的提示。

在網上查了一下,覺得可能是3306連接埠沒有開啟,先檢查一下3306連接埠的使用方式,

3306這個連接埠沒有被別的進程佔用。然後看看防火牆的情況,CentOS7中防火牆改成了firewall,查看firewall的服務狀態,

firewall防火牆正在運行。接下來查詢3306連接埠是否開放,輸入 firewall-cmd --query-port=3306/tcp,如果顯示的是no,則輸入 firewall-cmd --permanent --add-port=3306/tcp 開放3306連接埠,

重啟防火牆,輸入 firewall-cmd --reload。

 

2.完成以上步驟後,再次在Windows命令列中輸入 telnet 192.168.199.129 3306 執行,得到類似:host is not allowed to connect mysql 這樣的提示。

在網上查了一下,似乎是許可權的問題,一般有兩個途徑,

第一個方法,可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%",

在CentOS虛擬機器中進去MySQL,用下面的語句,

mysql>use mysql;

mysql>update user set host = ‘%‘ where user = ‘root‘;

mysql>select host, user from user;

但是改完了後,還是不行,還是提示 host is not allowed to connect mysql。

試第二個方法,授權,例如你想myuser使用mypassword從任何主機串連到MySQL伺服器的話,用下面的語句,

mysql>grant all privileges on *.* to ‘myuser‘@‘%‘ identified by ‘mypassword‘ with grant option;

mysql>flush privileges;

執行完後成功了,可以用workbench串連上MySQL服務了。

 

遠端連線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.