問題
我在用自己的windows上的navicat遠程連接ubuntu服務器的mysql,提示2003錯誤,無法連接,搜索博客,經過以下步驟解決。
注:本人mysql為5.7
解決步驟
- 查看服務器防火牆狀態,3306端口是否開放,結果發現我的服務器沒有防火牆
firewall-cmd --state
- 查看mysql是否允許遠程連接
mysql -uroot -p
use mysql;
select host,user,authentication_string from mysql.user;
如果沒有host為%的用戶,代表不允許遠程連接。
那么輸入以下命令
grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';
flush privileges;
其中xxxxxx是你的mysql密碼。一定要flush一下
- 修改配置文件
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
將bind-address = 127.0.0.1改為0.0.0.0
- 重啟mysql
sudo service mysql restart