大家都知道MySQL的主从复制是明文传输的,这对一些特殊业务来说是不允许的,下面来尝试构建基于SSL的主从复制
环境:RHEL5.8 SELinux关闭,iptables关闭,MySQL 5.5.28-i686 tar包初始化安装(非编译)
规划:
- master: 172.16.1.18 master.laoguang.me
- slave: 172.16.1.19 slave.laoguang.me
|
准备工作:hostname与规划一致,配置/etc/hosts做好解析,时间要同步,过程不再赘述,见http://laoguang.blog.51cto.com/6013350/1073891,mysql安装见http://laoguang.blog.51cto.com/6013350/1039208,数据目录为/data/mydata
一、在master上配置CA服务器,并为master,slave颁发证书
1.1 master建立CA服务器,过程见http://laoguang.blog.51cto.com/6013350/1035608
1.2 master的MySQL证书申请
- mkdir /data/mydata/ssl
- cd /data/mydata/ssl
- openssl genrsa 1024 > mysql.key
- openssl req -new -key mysql.key -out mysql.csr -days 3650
- ##接下来的输入与建立CA时的一致,common name为master.laoguang.me
- openssl ca openssl ca -in mysql.csr -out mysql.crt ##为MySQL签证
- cp /etc/pki/CA/cacert.pem . ##将CA的证书也拷过来
- chown mysql:mysql *
- chmod 600 *
|
1.3 slave上申请证书
- mkdir /data/mydata/ssl
- cd /data/mydata/ssl
- openssl genrsa 1024 > mysql.key
- openssl req -new -key mysql.key -out mysql.csr -days 3650
- ##接下来的输入与建立CA时的一致,common name为slave.laoguang.me
- scp mysql.csr master:/root
|
1.4 master上为slave签发
- cd /root
- openssl ca -in mysql.csr -out mysql.crt
- scp mysql.crt slave:/data/mydata/ssl
- scp /etc/pki/CA/cacert.pem slave:/data/mydata/ssl
|
1.5 slave上更改权限与属主
- chown mysql:mysql mysql.*
- chmod 600 mysql.*
|