前言

Github:https://github.com/HealerJean

博客:http://blog.healerjean.com

1、完全是Linux自己的服务器

1.1、创建一个可以远程访问MySQL的用户

1、用户名HealeJean 密码123456

GRANT ALL PRIVILEGES ON *.* TO 'HealerJean'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;


'HealerJean'表示用户名,
%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接
'147094'表示密码

1.2、修改生效

FLUSH PRIVILEGES;

1.3、查询数据库的用户(看到如下内容表示创建新用户成功了)

 SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

1568187070302

1.4、远程连接

1.4.1、报错,防火墙关闭状态

报错:2003-can't connect to mysql server on ' ' (10038)
出现这个错误的原因是:远程3306端口未对外开放

1568187119400

1.4.2、打开防火墙

1、刚装好的系统没有防火墙,这里需要先安装防火墙
1.先执行如下命令:
   systemctl stop firewalld
   systemctl mask firewalld
2.安装iptables services
    yum install iptables-services
3.设置开机启动
    systemctl enable iptables
4.重启iptables service
    systemctl restart iptables
5.执行保存配置命令 (中间的环节看其他的笔记)
    service iptables save

2、阿里云配置访问

阿里云的服务器,其实已经帮助我通过配置文件白名单的方式了,所以不需要安装防火墙

2.1、配置安全组规则

1568187353196

2.2、 如果是用root登录MySQL,在登陆后use mysql, user表root对应的localhost改为%

有的不需要设置这一步,因为默认有%,我的就是

2.3、修改mysqld.cnf

mysql默认只能自本机访问,在 /etc/mysql/mysql.conf.d/mysqld.cnf 里注释bind-address :

#bind-address = 127.0.0.1

2.4、重启启动mysql

 service mysql restart

ContactAuthor