1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > mysql主从同步简单原理_MYSQL简单主从复制原理及实现

mysql主从同步简单原理_MYSQL简单主从复制原理及实现

时间:2021-06-22 00:55:20

相关推荐

mysql主从同步简单原理_MYSQL简单主从复制原理及实现

mysql主从复制原理:

Master会对数据库产生修改的语句记录到二进制日志中,在Slave中会有一个线程(IO thread)会向Master请求二进制日志中发生的事件,Master通过binlogdump线程将二进制日志事件发送给Slave,Slave会把请求到的二进制日志事件保存至本地的中继日志中,然后由SQL thread 执行中继日志,就会得到跟Master一模一样的数据了 。

过程如图所示:

实现过程:

两台mysql服务器都编译安装mariadb-10.0.10,一般情况下,为了兼容问题,主服务器mysql版本要低于或相同于从服务器mysql版本,Master172.16.254.139

Slave172.16.254.140

Master配置步骤:

1、启用二进制日志,编辑/etc/f配置文件

2、修改server id要与Slave的server id不同,避免循环复制

3、在master上创建复制用的帐号,此帐号只授予复制相关的权限MariaDB [mydb]> grant replication slave,replication client on *.* to 'repluser'@'172.16.%.%' identified by 'mypass';

Slave配置步骤:

1、关闭二进制日志

2、修改server id,不能与Master相同

3、编辑配置文件,添加启用中继日志选项,并且配置Slave为只读,因为使用的mysql版本为mariadb-10.0.10,所以默认使用的存储引擎为的innodb

4、启动mysql并连接,验证中继日志功能是否启用

5、使用change master to 连接Master服务器MariaDB [mydb]> change master to master_host='172.16.254.139', master_user='repluser', master_password='mypass';

6、在Slave上手动启动复制功能MariaDB [mydb]> start slave;

7、验证Slave服务器上Slave_IO_Running与Slave_SQL_Running两个线程是否为Yes,/mydata/relaylogs目录下是否有中继日志存在

8、在Master上创建一个数据库mydb,在Slave上是否同步

上面实现步骤mysql主从服务器都是从零开始复制的,如果在一个已存在数据的主服务器上部署备服务器,要先对主服务器的数据做一次完整备份,备份的时候做好二进制日志位置记录 ,然后恢复到从服务器上,并指定从服务器的从主服务器二进制日志的复制位置,从时间点开始复制

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。