原文链接
环境:
- Ubuntu16.04
- MySQL5.7
使用 Navicat 远程连接阿里云上的MySQL报了错误:
Can’t connect to MySQL server on xxx (10061)
首先检查是否放行了用于远程连接 MySQL 的 3306 端口,可以登录阿里云控制台,在防火墙中放行 3306。
或者使用以下语句检查 3306 端口:
netstat -an | grep 3306如果 MySQL 的 3306 端口只是监听本地的连接,这样就阻碍了外部IP对该数据库的访问,修改 MySQL 配置文件 my.conf :
vim /etc/mysql/my.cnf# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1将
bind-address = 127.0.0.1这行注释掉或者改为你想要使用的客户端主机 ip。至此 MySQL 远程访问端口就成功开启了。我们进入 MySQL 命令界面,运行下列SQL 语句,查看用户是否具有访问权限:
use mysql;
select user, host from user;我们使用通配符 % 来修改 root 用户对应的 host 字段,使具有访问所有 ip 地址的权限:
update user set host = '%' where user = 'root';刷新一下 MySQL 的系统权限相关表:
flush privileges;最后重启一下 MySQL 服务:
sudo service mysql restart这样服务端就设置好了。
本文详细介绍了如何解决在Ubuntu16.04环境下使用Navicat远程连接阿里云MySQL5.7时遇到的10061错误。通过检查并开放3306端口,修改MySQL配置文件my.cnf,更新用户权限,最终实现远程访问。
1万+

被折叠的 条评论
为什么被折叠?



