解决mysql远程连接各种疑难杂症

一、修改mysql配置文件,我的是ubuntu16.04 mysql5.7

端口检测
netstat -ntpl |grep 3306

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
//在bind-address前加个'#'号
#bind-address           = 127.0.0.1

二、添加用户,分配权限

mysql -u root -p

CREATE USER 'test'@'%' IDENTIFIED BY '123456';

grant all privileges on database.* to test@'%' identified by '123456';

flush privileges; --刷新系统权限表

重启mysql服务器

service mysql restart

到这步一般情况下是可以用指定用户访问远程mysql了

三、以上两步还是连接不成功

试试3306端口能不能连通

telnet ip 3306

如果连不通,在防火墙允许一下3306端口通过

sudo ufw allow 3306
service ufw restart

如果再telnet不通
更改mysql端口为3307或与其他服务不冲突的端口
修改的文件还是第一步的文件
再重启mysql的服务器,用3307端口访问
如果是阿里云服务器,要去控制台才可以设置开启3306端口或其他端口

附:ubuntu防火墙的用法
http://blog.csdn.net/albertfly/article/details/51581285

你可能感兴趣的:(解决mysql远程连接各种疑难杂症)