如何給遠程主機開啓mysql遠程登陸權限

如何給遠程主機開啓mysql遠程登陸權限

在千鋒學習PHP的有些學員會在阿里或者騰訊雲去購買本身的雲服務器。在初級階段的項目上線時會遇到一個問題,就是沒法使用遠程鏈接工具操做本身線上的mysql數據庫。須要上傳一份phpmyadmin,不太方便。這裏爲你們提供一種解決辦法。php

問題描述:

當時用遠程工具,例如Navicat Premium鏈接數據庫時會產生一下錯誤。mysql

<img src="http://php.chanpingou.com/wp-...截圖20170405171543-300x93.png" alt="" width="300" height="93" class="alignnone size-medium wp-image-202" />sql

表示在當前主機是不可以鏈接上mysql服務器的。數據庫

解決辦法:

1. 使用SSH工具鏈接遠程雲服務器

我這裏使用的是SecureCRT,在下面所示窗口填寫服務器ip,用戶名,密碼信息。服務器

<img src="http://php.chanpingou.com/wp-...截圖20170405172334-300x278.png" alt="" width="300" height="278" class="alignnone size-medium wp-image-204" />工具

填寫號以後點擊連接,就快能夠與遠程服務器創建會話。以下圖所示:學習

<img src="http://php.chanpingou.com/wp-...截圖20170405172606-300x109.png" alt="" width="300" height="109" class="alignnone size-medium wp-image-206" />命令行

2. 修改防火牆,開啓3306端口.

在命令行輸入如下命令能夠查看編輯防火牆策略。rest

vi /etc/sysconfig/iptables code

雲服務器默認只會開啓80與22端口,不會開起3306端口。如下就是默認的防火牆策略。

<img src="http://php.chanpingou.com/wp-...截圖20170405173452-300x108.png" alt="" width="300" height="108" class="alignnone size-medium wp-image-209" />

仿照80端口在下面添加一條開啓3306的端口策略。添加完成後以下圖所示:

<img src="http://php.chanpingou.com/wp-...截圖20170405173725-300x113.png" alt="" width="300" height="113" class="alignnone size-medium wp-image-210" />

注意:增長的開放3306端口的語句必定要在icmp-host-prohibited以前

在命令行執行下面命令重啓防火牆

service iptables restart

3.命令行登陸mysql修改權限表

執行mysql -uroot -p登陸服務器的mysql數據庫,依次執行一下命令:

use mysql;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

FLUSH PRIVILEGES;

修改mysql庫的user表,將host項,從localhost改成%。%這裏表示的是容許任意host訪問,若是隻容許某一個ip訪問,則可改成相應的ip,好比能夠將localhost改成192.168.2.135,這表示只容許局域網的192.168.2.135這個ip遠程訪問mysql,後邊的password則是登陸時須要提供的密碼。最後刷新mysql權限表便可。

此時就可使用遠程工具操做雲服務器的mysql數據庫了。

著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。互聯網+時代,時刻要保持學習,攜手千鋒PHP,Dream It Possible。

相關文章
相關標籤/搜索