SSL安全连接的主从复制

@(一:mysql安装)


[目录]

1)在主mysql创建SSL/RSA文件

# cd  /usr/local/mysql/bin    ---切换目录
mysql_ssl_rsa_setup  --user=mysql  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

---创建新的SSL文件

重启mysqld服务

查看mysql的错误日志

报错信息显示是不能获得私钥,执行ls查看server-key.pem

发现没有r权限,立即授权r读

重启mysql服务,这时错误日志中就没有报错了

登录mysql,执行mysql>show variables like '%ssl%';

从上图可以看到mysql支持了ssl安全连接

注:

启用mysql支持ssl安全连接主要用于mysql主从复制(局域网可以非ssh连接即明文复制,但internet复制建议采用ssl连接)

返回目录

在主mysql上的操作完成,再生成一个复制帐号:REQUIRE SSL

在主mysql上启用二进制日志并重启mysql服务

添加下面的配置项

log-bin = mysql-bin

重启mysql服务

systemctl restart mysqld

查看主mysql的状态

注:

要记住上图所显示的file和position的值,配置从服务器要用到 防火墙允许3306/tcp通信

返回目录

2)接着在从服务器上配置

从mysql的/etc/my.cnf文件内容

注:

server_id要唯一,不能和其他mysql主机的重复

把主mysql生成的证书给了从服务器

注:

192.168.1.106是从mysql的IP地址

返回目录

在从mysql查看复制过来的证书

设置client-key.pem的r权限

继续在从上配置SSL:修改/etc/my.cnf文件,添加如下内容

重启mysqld服务

systemctl restart mysqld
systemctl status mysqld

查看mysqld.err 是否有错误日志

查看SSL是否被支持:

那么在配置主从复制之前可以在从mysql上用SSL连接主服务器试试:

注: 192.168.1.108是主mysql的ip地址

返回目录

SSL测试连接成功,并且登入的SSL协议是: Cipher in use is DHE-RSA-AES256-SHA

最后开始配置主从replicate,

登录从mysql

在从上change master to

启用从

start slave

查看从的状态,以下两个值必须为yes,代表从服务器能正常连接主服务器

Slave_IO_Running:Yes
Slave_SQL_Running:Yes

返回目录


测试:

在主mysql上:

从服务器上

以上同步成功。

返回目录


总结:

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。复制默认是明文进行传输的,通过SSL加密可以大大提高数据的安全性。

返回目录

results matching ""

    No results matching ""