在统。这种分发机制是通过将一台Mysql主机的数据复制到其他主机(从机)并重新执行来实现的。

双机热备份的概念:?指保持两个数据库的状态自动同步。任何数据库的操作都会自动应用于另一个数据库,并且两个数据库的数据始终保持一致。这有很多优点。 1.可以进行灾难恢复,如果其中一个发生故障,可以将其中一个切换到另一个。 2.可以完成负载平衡,并且可以将请求分配给其中任何一个,以提高网站的吞吐量。

主从复制示意图:

mysql双主热备 自增 mysql双机热备原理_mysql

执行主从复制的三个步骤:

①主服务器将更改记录到二进制日志(Binary log)中

②从站访问主站,将主站的日志记录复制到从站的中继日志(中继日志)

③从属SQL线程线程执行中继日志事件,该事件将被更改并再次执行并同步到从属数据库

1.服务器准备:准备两台服务器或两台虚拟机

2.请参阅以前的博客文章\ lt; \ lt; linux环境下安装mysql \\ \ gt;并分别在这两台服务器上安装Mysql,两台服务器上mysql的用户名和密码均为root

3.我们下面的配置统一调用MasterA和SlaveB

①在MasterA服务器上授权SlaveB

使用命令连接到mysql:

mysql-uroot-proot

执行授权命令:在*上授予复制从属。 *到由” root”标识的” root” @” ip的SlaveB”;

参数说明:

用户名:root

?密码:root

此配置意味着:允许SlaveB以用户名作为root用户,以口令作为root用户访问MasterA的二进制日志

②打开MasterA服务器的二进制日志

打开my.cnf配置文件,添加配置,使用命令编辑配置文件my.cnf:vi/etc/my.cnf

mysql双主热备 自增 mysql双机热备原理_mysql_02

参数说明:

datadir:数据存储路径

套接字:mysql有两种连接方法套接字和TCP/IP

server-id:设置主从复制时不能重复

log-bin:二进制日志的名称

expire_logs_days:binlog日志的到期时间,当达到设置的时间时将自动清除

binlog-do-db:将哪个库的操作日志设置为二进制日志

4.创建一个数据库

如果需要在MasterA和SlaveB上创建全新的库,则可以直接在两个mysql上创建数据库。如果正在使用要进行主从复制的数据库,则需要首先锁定数据库。操作完成后,请解锁并使用,以避免两个数据库数据不是初始状态,如果要在两个服务器上复制的数据库的初始状态不相同,则没有意义。

锁定数据库命令:带有读取锁定的刷新表;

从MasterA导出数据库,并将导出的数据库导入SlaveB的mysql

查看用于配置SlaveB的MasterA数据库的二进制位置:

mysql双主热备 自增 mysql双机热备原理_mysql_03

参数说明:

文件:日志名称

位置:对数偏移量

Binlog_Do_DB:记录库

解锁刚锁定的数据库:UNLOCK TABLES;

5.配置SlaveB的mysql

使用命令vi/etc/my.cnf编辑配置文件并添加以下配置:

mysql双主热备 自增 mysql双机热备原理_mysql双主热备 自增_04

6.启动SlaveB的从属

mysql双主热备 自增 mysql双机热备原理_mysql_05

7.检查是否启用了SlaveB的从属线程

mysql双主热备 自增 mysql双机热备原理_数据_06

Slave_IO_Running是读取master的binaryLog的线程

? Slave_SQL_Running是执行SQL的线程

这两个线程必须为YES才能实现主从复制。

1.使用Navicat连接到两个mysql

2.在MasterA的mysql数据库中添加一条数据,检查SlaveB的mysql数据库是否已同步,结果是否已同步

3.在MasterA的服务器上安装mycat,让我们配置mycat的模式和服务器的两个配置文件

架构:

mysql双主热备 自增 mysql双机热备原理_数据_07

server.xml添加以下配置:

4.通过mycat连接到架构

mysql-uroot-proot-h127.0.0.1-P8066

mysql双主热备 自增 mysql双机热备原理_mysql导到相对位置_08

5.插入一条数据,结果验证是两个库中的数据将同步

6.停止主服务器的mysql,仍然通过mycat插入一条数据,该数据将插入从服务器的mysql,启动主服务器的mysql,通过mycat将一条数据插入数据库,并找到不会同步。

根据上述配置,将主计算机用作从计算机,并将从计算机用作主计算机。

mysql双主热备 自增 mysql双机热备原理_数据_09

1.在从属(相对主)计算机上连接mysql并授权主(相对从属)

在*上授予复制从属。 *到由” root”标识的” root” @” 192.168.22.xxx”;

192.168.22.xxx是主机的IP

2.查看从属计算机的二进制日志

mysql双主热备 自增 mysql双机热备原理_mysql_10

3.启用主同步

mysql双主热备 自增 mysql双机热备原理_mysql双主热备 自增_11

如果发生上述错误,请先停止从站,然后再次操作它,使用命令:STOP SLAVE,(此处命令必须为大写)开始同步后,需要打开从站,使用命令:START SLAVE(此处命令必须为大写)。

4.检查主服务器上从服务器的状态

mysql双主热备 自增 mysql双机热备原理_mysql_12

1.在Navicat连接到mysql之后,直接向数据库中添加一条数据,向这两个数据库中添加一条数据,然后在两个数据库中发现数据已同步。

2.无需修改Mycat配置,使用mycat连接到mysql,命令为:mysql-uroot-proot-h127.0.0.1-P8066

3.插入一条数据,发现数据库也可以同步

4.停止其中一个数据库,向启动数据库中添加一条数据,然后启动停止的数据库,然后发现数据也已同步到数据库。

通过分步实践使系统更加稳定,在数据量大之后,我们必须研究子库和表。在下一个博客中,编辑器将为mycat-web编写一个可视的监视界面,实时监视mycat的性能。