当前位置:Gxlcms > mysql > Linux-6.5下基于MariaDB-10的主从复制配置解析

Linux-6.5下基于MariaDB-10的主从复制配置解析

时间:2021-07-01 10:21:17 帮助过:20人阅读

理解部分: Mysql内建的复制功能是构建大型,高性能应用程序的基

理解部分:

Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后封锁并等待主服务器通知新的更新。

主服务器将所有命令写入二进制日志当中,从服务器将主服务器中的二进制日志复制到中继日志中,在执行一遍,即实现复制。

第一种方法:

一、master服务器配置:

1、停止服务: \ \ 2、修改配置文件: \ \
3、创建目录、修改属组: \ \
4、启动服务、端口: \ \
5、授权用户 \ \

二、slave服务器配置: 1、停止服务: \ \
2、修改配置文件: \ \
3、创建目录、修改属组: \ \
4、启动服务: \ \
5、连入mysql,查看中继日志状态: \ \
6、查看验证(此时是没有文件的): \ \
7设置连接主服务器: \ \


三、查看master、slave节点状态及启动slave节点: 1、查看master进程数量: \ \
2、master查看操作日志状态: \ \
3、slave节点查看同步状态: \ \
4、启动同步连接服务: \ \
5、slave节点查看验证文件: \ \
6、slave节点查看同步状态: \ \


四、验证从0开始同步: 1、master上创建库: \\ 2、master查看刚刚创建的库: \ \
3、master查看操作日志状态: \ \
4、slave查看同步状态: \ \
5、slave查看是否同步: \ \
6、master创建表且插入数据: \ \
7、master查看操作日志状态: \ \
8、slave查看同步状态: \ \
9、查看同步的表: \ \
9、停止使用 \ \
10、现在我停止mysqld服务,而后我又想启用mysqld服务,你说这时候会报错吗? \ \
11、这时候你直接启动可以吗?这时候会报错的,请看: \ \
12、这时候你停止服务后再次连接时候mysql会自动启动的服务的,请看: 12.1 停止连接服务: \ \
12.2 先停止服务在启动: \ \
12.3 查看同步状态: \ \




第二种方法:

一、需求:
1、演示从一半的时候开始复制,而不是从0开始复制: 2、为了演示效果我们让这服务器上直接导入我之前准备好的库,然后让从服务器不从0开始复制了,这样的话会很慢的,我们从主上做备份后到从一半时恢复,看下怎么操作呢? 3、为了演示效果,这里就把刚刚做数据删了,
二、master、slave的配置: 1、slave删除、停止传输(按理来说是不可以修改的): \ \
2、master删除: \ \
3、master导入数据: \ \
4、查看操作日志状态(这时就已经产生很多信息了) \ \
4.1 这时我不行让从服务器从0开始复制怎么办呢?锁定位置,从锁定位置开始复制:

三、备份及同步数据: 1、master创建库、表、插入数据: \ \
2、master做备份: \ \
3、master的数据复制slave上: \ \
4、slave确认传输是停止状态: \ \
5、slave导入数据并连入mysql: \ \
5.1 查看: \ \
5.2 slave 授权: \ \
5.3 启动传输服务 \ \
5.4 查看是否启动同步: \ \
6、master测试创建数据: \ \
6.1 查看操作日志: \ \
7、查看是否同步及查看同步状态: \ \
7.1 查看testdb库是否同步: \ \


OK!!!

人气教程排行