1. 程式人生 > >Navicat連不上遠端阿里雲伺服器MySQL資料庫的幾個原因

Navicat連不上遠端阿里雲伺服器MySQL資料庫的幾個原因

背景: 今天在阿里雲CentOs裡部署MySQL,用ssh連上可以進入資料庫,但是本地Navicat就是連不上。如圖:

在這裡插入圖片描述

過程:到處看帖子,各種嘗試,過程如下: 1.有的帖子提醒要先開啟mysql服務:systemctl satrt mysqld.service 這個等同於廢話,肯定會先開服務再嘗試連線的。 2.有的提醒要修改配置檔案:vim /etc/my.cnf 將檔案中的bind-address =127.0.0.1註釋掉。但是我的檔案壓根就沒有這句話,應該是版本不同,所以忽視。 3.有的提醒要授權給網路上其他主機訪問資料庫,這一點還是有用的:進入MySQL命令之後: use mysql; grant all privileges on * . * to ‘root’@’%’ identified by ‘你的密碼’; flush privileges; 這裡%表示所以主機,而不只是localhost 4

.有的提醒要修改一下密碼:基本上沒啥用 5.有的提示開放3306埠,我的伺服器防火牆都是關閉的,不存在這個問題,但是為了排除,我由開啟防火牆,開放3306埠。這一步其實有用,但是我弄錯了地方6.有的提示在Navicat軟體裡通過ssh連線,我覺得這是最後的無奈之舉,因為通過ssh就不是遠端連線MySQL了,而是先登入進伺服器,再從伺服器本地進MySQL。雖然效果差不多,但是沒有解決MySQL遠端登入的問題,如圖 在這裡插入圖片描述

這根本就不是遠端連線MySQL! 7.最終解決方法是:在阿里雲控制檯裡給伺服器的安全組新增規則,開放3306埠。 這是把我坑慘了,之前不知道阿里雲伺服器自帶防火牆,所以在CentOs裡折騰防火牆一點用都沒有,這裡沒開怎麼也連不上。坑了我一個多小時,真是無語了。所以如果是用的阿里雲伺服器前面的方法都沒解決的可以試試是不是安全組裡沒開放3306埠。

如圖: 在這裡插入圖片描述

之前沒開3306就不行,開了立馬就好了!問題解決。