首先查看阿里云安全组的3306端口是否开放,没开放先开启,开启方法找上篇;若没开启
1、修改user表:MySQL>update user set host = '%' where user = 'root';
2、授权主机访问:MySQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
grant all privileges on *.* to 'root'@'%' identified by '你的密码' with grant option
3、刷新权限:MySQL>FLUSH PRIVILEGES;
4、退出:MySQL>EXIT;
注意:第三步一定要操作,不然设置不生效。
一般执行上边都可以解决,若还是解决不了
执行 netstat -an|grep 3306 查看3306的端口状态
如果不是这样的
就需要修改配置文件,找到my.cnf,一般在/etc/mysql/下面,具体情况根据实际而定。注释掉其中的bind-address属性。
虚拟机的话查看防火墙关没关,防火墙没关也连接不上
CentOS7.0 关闭防火墙
- systemctl stop firewalld.service #停止firewall
- systemctl disable firewalld.service #禁止firewall开机启动