阿里云服务器 mysql远程访问解决办法——实测 Centos 系统 可用
使用Navicat 连接 mysql 报错如下:
解决方法四个步骤:
- 第一步,找到阿里云服务器的防火墙设置,在添加规则中开通mysql 3306 端口:
- 第二步 ,修改root 账号远程访问权限:
安装了MySQL默认是拒绝远程连接的。
首先进入数据库,使用系统数据库mysql。
mysql -u root -p
#回车,输入mysql root 账户密码
use mysql
#使用mysql数据库
#接着对系统数据库的root账户设置远程访问的密码,与本地的root访问密码并不冲突。
#123456为你需要设置的密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
#刷新
flush privileges;
- 第三步, 防火墙设置一下,不然3306端口还是无法访问:
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
设置完之后,查看一下是否能通过。
iptables -L -n
如果想要限制访问。
iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
- 第四步,重启数据库,然后重启服务器
完成上述所有步骤后,需要重启一下数据库,才能让修改的配置生效。执行如下命令重启数据库:
代码如下:
service mysql restart
OK,这样就可以远程访问了。
centOS系统原文链接,非常感谢原作者
Ubuntu系统原文链接,两个系统操作不太一样,感谢原作者