基礎環境: 在linux安裝mysql
- 檢查遠程的虛擬機是否可以ping通過
查看虛擬機IP為192.168.38.128
cmd窗口ping 192.168.38.128,出現如下界面說明是可以的
- 檢查虛擬機mysql的端口號是否對外開通
比如我們能用xshell等遠程工具連接虛擬機上的linux,是因為開放了22端口
查看mysql的端口,在mysql命令行模式下執行以下命令就可以查看,查到的結果是3306
show variables like '%port%';
查看虛擬機的3306端口是否開放
cmd下執行telnet 192.168.38.128 3306
無法執行,別方,這是因為Windows telnet默認是關閉的
按照紅框提示開啟telnet
重新打開cmd窗口執行命令,結果是無法連接,這是因為虛擬機上的3306並沒有對外開放,可以用22的試下效果就知道了
- 開通虛擬機的3306端口
查看虛擬機防火牆的狀態
service iptables status
可以看到目前只有22端口對外開放
編輯防火牆文件打開3306端口
vim /etc/sysconfig/iptables
模仿22端口開放命令添加如圖所示的一行即表示對外開放3306端口
重啟防火牆
service iptables restart
可以看到3306已經開放
- 遠程連接虛擬機數據庫訪問
端口都開啟了,但還是連不上,看提示說明至少已經關聯到mysql,不允許是因為權限不夠
我也不用root賬號了,這里重新創建一個賬號並賦予所有權限,之后讓權限配置生效,在虛擬機上的mysql命令行模式下執行以下命令
create user 'panda'@'%' identified by '123456'; grant all on *.* to 'panda'@'%'; flush privileges;
重新使用panda鏈接數據庫,成功了~~~
題外話:mysql默認的端口就是3306,當然也可以在配置文件中修改,在服務端節點下添加port信息即可