如何在本地遠程鏈接虛擬機上CentOS7的mysql

參考:https://www.cnblogs.com/dump/...
https://blog.csdn.net/asd104/...html

1.檢查虛擬機IP在本地是否能夠ping 經過
虛擬機IP:172.21.0.4
clipboard.pngmysql

本地執行一下,沒有問題

clipboard.png

2.檢查虛擬機Mysql的端口是否對外開放(這個必需要開放)linux

查看mysql的端口,在mysql命令行模式下執行如下命令就能夠查看,查到的結果是3306sql

[root@localhost ~]# mysql -u root -p
mysql> show variables like '%port%';

clipboard.png

查看虛擬機的3306端口是否開放數據庫

cmd下執行telnet 172.21.0.4 3306windows

沒法執行,別方,這是由於Windows telnet默認是關閉的服務器

clipboard.png
從新打開cmd窗口執行命令,結果是沒法鏈接,這是由於虛擬機上的3306並無對外開放,能夠用22的試下效果就知道了tcp

clipboard.png

3.打開linux的3306端口
首先安裝iptablesspa

若是你要改用iptables的話,須要安裝iptables服務:.net

安裝

sudo yum install iptables-services

clipboard.png

開啓iptables

sudo systemctl enable iptables 
sudo systemctl enable ip6tables

啓動服務

sudo systemctl start iptables 
sudo systemctl start ip6tables

打開指定端口:
打開iptables文件

vi /etc/sysconfig/iptables

進入編輯頁面,在指定位置新增如下配置。放在 -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 後面

進入後用i編輯,將下列複製進去,而後按ESC鍵,輸入:wq!保存退出

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

clipboard.png

修改完保存退出,重啓網卡服務

service iptables restart

在windwos下 ping 172.21.0.4 3306 仍是沒成功,是由於mysql沒有給外來主機的權限
clipboard.png
解決辦法:
1.改表法

[root@localhost ~]# mysql -u root -p
mysql> use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql> FLUSH   PRIVILEGES;

其中更新表中數據報錯,不用管它,已經改好了,不信能夠查表來驗證

clipboard.png

clipboard.png
2.受權法。
例如,你想myuser使用mypassword從任何主機鏈接到mysql服務器的話。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

若是你想容許用戶myuser從ip爲192.168.1.6的主機鏈接到mysql服務器,並使用mypassword做爲密碼

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

若是你想容許用戶myuser從ip爲192.168.1.6的主機鏈接到mysql服務器的dk數據庫,並使用mypassword做爲密碼

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH   PRIVILEGES;

四、驗證遠程鏈接虛擬機數據庫訪問

在windows中的cmd輸入telnet 172.21.0.4 3306
clipboard.png

鏈接成功

clipboard.png

以後就能夠用Navicat鏈接虛擬機中的數據庫了

clipboard.png

相關文章
相關標籤/搜索