MySQL的主从复制应用场景非常多,默认的MySQL复制是基于异步且明文传输的,也就是说,速度快,但是从服务器的数据会有着一定的滞后性,明文也就意味着数据传输的不安全。因此笔者这里构建一个简单的基于加密并半同步的主从MySQL,当然由于其半同步的特性,主服务器的写操作速度必会有所降低。究竟如何选择,这取决于场景需要了。实验环境:RHEL5.8 MySQL5.5.28192.168.88.21 master.mos.com master192.168.88.22 slave.mos.com slave注意:笔者做了双机互信,但在此并未写出,且笔者的两个MySQL默认的root用户的密码皆为空,笔者实验环境的/etc/hosts的文件,皆如上。一、 创建CA私有认证及所需密钥文件,在主服务器(master)上操作1、 使用脚本创建CA内部机构,脚本链接如下:免费下载地址在 http://linux.linuxidc.com/用户名与密码都是www.linuxidc.com具体下载目录在 /2012年资料/12月/6日/MySQL基于SSL的半同步复制 ./ casetup.sh #输入ca的主机名和email或者两次回车即可2、 创建Master和salve所需的密钥文件,(内部CA需要国家,省,城市,公司,部门这些信息一致)
- # mkdir -pv /data/{mysql,ssl}
- # cd /data/ssl
- # (umask 077; openssl genrsa 1024 > mysql.key)
- # openssl req -new -key mysql.key -out mysql.csr
- # openssl ca -in mysql.csr -out mysql.crt -days 365
- # cp /etc/pki/CA/cacert.pem .
- # cd /data
- # cp /etc/pki/CA/cacert.pem .
- # (umask 077; openssl genrsa 1024 > slave.key)
- # openssl req -new -key slave.key -out slave.csr
- # openssl ca -in slave.csr -out slave.crt -days 365
- # ssh slave "mkdir -pv /data/mysql"
- # scp slave.* cacert.pem slave:/data/ssl/
- # rm –rf slave.* cacert.pem
二、 载入半同步支持并提供从复制用户(位于主服务器操作)1、 安装MySQL过程参考笔者之前的文章即可:http://www.linuxidc.com/Linux/2012-12/75472.htm2、 插入谷歌提供的半同步补丁模块semisync的主模块支持,并创建复制所需用户
- mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME "semisync_master.so";
- mysql> GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO sroot@192.168.88.22 IDENTIFIED BY"123" REQUIRE SSL;
- mysql> FLUSH PRIVILEGES ;
- mysql> q
Ps: 若需要卸载半同步模块,在mysql中执行如下语句:
mysql> UNINSTALL PLUGIN rpl_semi_sync_master;
NetBackup下Oracle恢复测试方案实例解析MySQL 设置允许远程登录相关资讯 MySQL主从同步 MySQL SSL
- Ubuntu下MySQL主从同步配置 (今 14:59)
- MySQL主从同步校验与重新同步 (09月01日)
- 监控MySQL主从同步延时 (08月03日)
| - MySQL生产库主从重新同步操作注意 (09月01日)
- Linux下MySQL主从同步配置 (08月23日)
- Linux下MySQL数据库主从同步配置 (03月11日)
|
本文评论 查看全部评论 (0)