1. 開啟數據庫3306端口
首先,使用如下指令查看3306端口是否對外開放。
netstat -an | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
如果顯示如上,說明mysql端口目前只監聽本地連接127.0.0.1。然后需要修改mysql的配置文件
cd /etc/mysql/mysql.conf.d
sudo vim mysqld.cnf
將其中bind-address = 127.0.0.1注釋掉。
2. 授權遠程訪問
首先,進入數據庫 mysql -u username -p password
,username為你的mysql用戶名,password為你的mysql密碼。
然后,執行如下sql語句
mysql> grant all on *.* to username@'%' identified by 'password'; #username為你的mysql用戶名,password為你的mysql密碼。
3. 重啟mysql服務
/etc/init.d/mysql restart
4. 在防火牆中開啟3306端口
如果執行了前三個步驟仍然不能遠程訪問mysql,那么有可能是防火牆阻止訪問,需要開啟允許訪問。
sudo ufw allow 3306