mysql基于ssl复制配置过程

当mysql跨越互联网进行复制时别人可以窃取到mysql的复制信息,这些信息是明文的,因此存在不安全性,这里通过ssl对复制的信息进行加密

1、创建证书中心

在主服务器上创建证书中心

生成自签证书,由于需要输入大量用户信息,因此编辑证书的配置文件,在私有的CA上创建证书要注意所有的用户信息要和CA中的一致,从国家到部门都要相同,否则会造成证书无法使用

生成自签证书

-x509是创建自签证书是需要的参数,在创建其他证书时不能加该参数

由于是自签证书因此要修改证书路径

创建证书编号

2、为主服务器创建证书

服务器的名称必须固定,在申请证书时要输入服务器名称,证书和服务器名称对应

创建私钥

生成证书申请

在证书服务器上对master的证书进行签发

3、创建从服务器证书

将从服务器的证书申请文件复制到证书服务器上进行签发

4、修改证书权限和mysql配置文件

将证书的公钥cacert.pem复制到主从服务器的目录下

修改从服务器配置

cd /usr/local/mysql/ssl

5、在主服务器上创建复制用户

查看主服务器当前二进制位置

6、在从服务器上开始复制

查看状态
db

错误1:
如果要确保证书没有问题可以通过建立测试的用户同ssl进行连接在主服务器上开一个权限很大的用户,进行ssl的登录测试

这是由于虚拟的时间不正确导致

如果这时候不使用ssl方式进行连接则会报出错误

错误2:

在配置文件中添加证书配置后执行 show variables like ‘%ssl%’显示
db
这是由于没有将证书的属主改为mysql,可以从日志中得知是无权限获取私钥
db

转自:http://www.zhengdazhi.com/?p=856