是实验环境
需要两台已经装好MySQL的Linux服务器可以是YUM安装的、二进制包安装的或者是源代码包编译的都行,然后实现这两台MySQL服务其的主从同步,咋实现同步时使用SSL加密传输,再实现双主模型.
注意:保证MySQL服务器版本一致,或者主服务器的版本低于从服务器的版本.
阅读示例:
文中所有需要在终端界面输入的命令,都是用代码框的形式展现
如:
- ifconfig
- mysql> 开头的是在mysql中输入的命令
文中所有使用文本编辑器打开或者编辑配置文件的内容,都使用“引用框”来展现.配置文件中写入的内容都在引用框中用灰色字体展现.
如:
/etc/my.cnf 主服务器需要在主配置文件中修改
[mysql]下面添加
|
准备工作:
两台虚拟机:mylab1-192.168.89.11、mylab2-192.168.89.22
系统使用的是centos6.2,mysql使用的版本是5.6.4-m7
主服务器配置:
server-id 要保证和从服务器不一致
其他配置采用默认配置就可以了
配置同步帐号
- mysql> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* to ''username2''@''mylab2'' IDENTIFIED BY ''password'';
- mysqldump --all-databases --single-transaction --master-data=2 > /root/all.sql
命令解释:
user_name 登录的用户名
host 从服务器的主机IP或主机名
password 登陆密码
主服务器的配置就OK了
如果主服务器是一个已经在使用中的数据库服务器,可以先做一次数据的完全备份,然后在从服务器上恢复备份后再让从服务器同步主服务器.
从服务器配置:
先将备份的数据库导入从服务器的数据库中
- mysql < all.sql
- mysql> CHANGE MASTER TO MASTER_HOST=''mylab1'', MASTER_PORT=3306,MASTER_USER=''username2'', MASTER_PASSWORD=''password'', MASTER_LOG_FILE=bin_log id'', MASTER_LOG_POS=POSid;
- mysql> START SLAVE;
命令解释:
MASTER_HOST=<host> 主服务器名或IP
MASTER_PORT=<port> 主服务器MySQL端口 3306可以省略
MASTER_USER=<user> 在主服务器上设置的用户名
MASTER_PASSWORD=<password> 在主服务器上设置的用户对应的密码
MASTER_LOG_FILE=bin_log id'', MASTER_LOG_POS=POSid 这两项是在恢复主服务器的完全备份之后指定从哪个位置开始同步
START SLAVE;启动从服务
SHOW SLAVE STATUS;查看从服务器状态
OK MySQL 主从服务器模型就OK了!
使用SSL加密传输,加强数据传输安全:
注意:主从服务器都需要CA的证书,自己的证书,自己的私钥,实现互相认证
主服务器需要在主配置文件中修改
[mysql]下面添加
ssl
ssl-ca=/capath ca颁发机构的证书存放位置
ssl-cert=/path 主服务器的证书存放位置
ssl-key=/path 主服务器的密钥存放位置 |
mylab1为原同步帐号添加使用SSL加密同步,在新添加用户的时候 添加 REQUIRE SSL 指定使用SSL加密传输
- mysql> GANT USAGE ON *.* TO ''username2''@''mylab2'' REQUIRE SSL;
mylab2需要先停止 |