在服務器上新安裝的MySQL無法被遠程連接,需要以下幾步來解決
0.查看端口開放情況
- 阿里雲將3306端口安全組設置爲0.0.0.0/0,對所有人開放
- 通過端口掃描工具確認是否可以連接:端口掃描工具
- 登陸服務器,使用
netstat -an | grep 3306
查看MySQL的運行情況以及監聽情況,發現3306端口只在本地上被監聽
root@iZbp12kno11kc9e34bktfaZ:/var/log/mysql# netstat -an | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
1.開放端口並重新啓動
- 修改MySql配置文件,開放端口監聽
vim /etc/mysql/mysql.conf.d/mysqld.cnf
...
# bind-address = 127.0.0.1 //註釋掉這行
...
- 重新啓動MySQl
service mysql restart
- 查看端口監聽狀態
netstat -an | grep 3306
tcp6 0 0 :::3306 :::* ISTEN
現在外部已經可以訪問3306端口了,但是爲了連接MySQL,還需要配置一個擁有遠程連接權限的賬戶「默認的root爲本地連接權限」
2.配置遠程連接用戶
// 創建用戶
mysql> create user arong;
Query OK, 0 rows affected (0.00 sec)
// 爲用戶配置全部權限
mysql> grant all privileges on *.* to arong@'%' identified by '123';
Query OK, 0 rows affected, 1 warning (0.00 sec)
// 刷新權限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
以上完成之後就可以使用遠程用戶連接服務器MySQL了。