云服务器 远程mysql 无法连接

问题:mysql不管是用免安装版的,还是用直接安装的,还是用phpStudy直接发布的mysql服务。都只能用localhost登录,不能用服务器的ip进行远程访问

遇到这个问题。按照网上大家介绍的方法去解决,但是一直不行。后来发现自己的阿里云服务器安全组规则中没有添加端口号为3306的项,加上之后,问题立马解决。

现分享解决方法总结如下:

1、 修改mysql数据库中的user表使相应的用户能从某一主机登陆 
  mysql -u root –p
  mysql>use mysql;
  mysql>update user set host = '%' where user = 'root';
  mysql>select host, user from user;

2、没有授予相应的权限:
  mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
  例如:GRANT ALL PRIVILEGES ON *.* TO 'high'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;

前两种方法选择一个就可以了。

3、如果是云服务器。。一定要添加安全组
  云控制台-->网络和安全-->安全组-->配置规则-->添加3306入方向和出方向

原文地址:https://www.cnblogs.com/highest/p/8251661.html