MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。这与同步复制可以进行对比,同步复制是MySQL的一个特征。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后并等待主服务器通知新的更新。
------------------------------------------------------------------------------------------------------
实验环境在redhat6.4 ▎安装包使用的mysql-5.5.33版本的。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.下载完mysq安装包到主服务器上
mysql-5.5.33-linux2.6-x86_64.tar.gz
2.复制安装包到从服务器上
3.解压包到指定路径下
4.新建一个mysql用户和mysql的数据库目录,修改创建的目录属主和属组为mysql
5.创建一个软连接为mysql,并把mysql里面的文件属主改为root属组为mysql
6.初始化数据库一些准备
7.初始化mysql数据库
8.启动mysql服务
9.下面配置主服务的一些参数,使从服务器可以同步数据
10.从服务器上配置步骤和1-8的步骤一样这里就不再次配置了
11.编辑从服务器上主配置文件
12.启动复制线程
13.在主服务器上添加一个数据,看看主从是不是一样的
14.在从服务器上查看
二.下面来实现增量复制
1.先把从服务器数据库停掉
2.删除数据库目录中的数据和重新初始化
3.在主数据库中添加一些数据在备份下数据库
4.把备份的数据导入到从服务器上
5.然后从导入数据之后开始复制主服务上的数据
6.在主服务器上添加数据看看从服务器是否同步
三.实现半同步
1.在主服务器上安装master模块
2.在从服务器安装添加Slave模块
3.查看主服务器上的semi_sync是否开启,注意clients 变为1,证明主从半同步复制连接成功:
为mysql建立安全的SSL加密
1.在主服务器上为CA生成一个私钥
2.在主服务器上生成自签证书
3.主服务器上申请证书
4.编辑主服务器上的配置文件支持SSL功能
5.在从服务器上生成一个签署证书
6.把签署证书发送到主服务器上,在主服务器上签署证书后在发给从服务器
7.配置my.cnf文件在开启SSL重启服务
8主上创建ssl链接的用户
9.从服务器上通过ssl链接主服务器
10.查看slave的状态
11.通过命令看下链接状态