本地如何連接虛擬機上的MySql


今天在本地鏈接虛擬機上的MySql,然而鏈接失敗了!甚是尷尬!

首先想一想是什么原因導致鏈接失敗;

基礎環境:在Linux上安裝mysql

1、檢查虛擬機IP在本地是否可以ping 通過

  虛擬機IP:192.168.217.129

  

  本地執行一下,沒有問題

  

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

       比如我們能用xshell等遠程工具連接虛擬機上的linux,是因為開放了22端口

  查看mysql的端口,在mysql命令行模式下執行以下命令就可以查看,查到的結果是3306

  

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

  cmd下執行telnet 192.168.217.129 3306

  無法執行,別方,這是因為Windows telnet默認是關閉的

  

  重新打開cmd窗口執行命令,結果是無法連接,這是因為虛擬機上的3306並沒有對外開放,可以用22的試下效果就知道了

 3、開通虛擬機的3306端口

  查看虛擬機防火牆的狀態  

service iptables status

  可以看到目前只有22端口對外開放

  編輯防火牆文件打開3306端口

vim /etc/sysconfig/iptables

  模仿22端口開放命令添加如圖所示的一行即表示對外開放3306端口

  重啟防火牆

service iptables restart

  可以看到3306已經開放

4、遠程連接虛擬機數據庫訪問

  端口都開啟了,但還是連不上,看提示說明至少已經關聯到mysql,不允許是因為權限不夠

  原因:一般mysql是不允許除了本機用戶以外的用戶進行訪問的,所以需要給特定ip的用戶開放權限,通過這個用戶去訪問連接

  創建用戶並附有所有權限

    

create user 'cici'@'%' identified by '123123';
grant all on *.* to 'cici'@'%';
flush privileges;

  重新使用cici鏈接數據庫,成功了!!

  

 

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM