mysql5.17组复制安装
来源:互联网 发布:excel取消数据验证 编辑:程序博客网 时间:2024/06/07 23:23
17.2.1在单主模式下部署组复制
- 17.2.1.1部署组复制实例
- 17.2.1.2配置组复制实例
- 17.2.1.3用户证书
- 17.2.1.4启动组复制
- 17.2.1.5向组中添加实例
组中的每个服务器实例可以在独立的物理机器上运行,也可以在同一台计算机上运行。本节介绍如何在一台物理机器上创建具有三个MySQL Server实例的复制组。这意味着需要三个数据目录,每个服务器实例一个,您需要独立配置每个实例。
图17.4组织架构
本教程介绍如何使用组复制插件获取和部署MySQL Server,如何在创建组之前配置每个服务器实例,以及如何使用性能模式监视来验证一切正常。
17.2.1.1部署组复制实例
第一步是部署三个MySQL服务器实例。组复制是MySQL Server 5.7.17及更高版本提供的内置MySQL插件。有关MySQL插件的更多背景信息,请参见第5.5节“MySQL服务器插件”。此过程假定MySQL Server已下载并解包到名为的目录中mysql-5.7
。以下过程使用一台物理机,因此每个MySQL服务器实例都需要一个特定的实例数据目录。在名为的目录中创建数据目录,data
并初始化每个目录 。
mkdir datamysql-5.7/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-5.7 --datadir=$PWD/data/s1mysql-5.7/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-5.7 --datadir=$PWD/data/s2mysql-5.7/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-5.7 --datadir=$PWD/data/s3
里面data/s1
,data/s2
, data/s3
是一个初始化的数据目录,包含了MySQL系统数据库和相关表等等。要了解有关初始化过程的更多信息,请参见 第2.10.1.1节“使用mysqld手动初始化数据目录”。
不要--initialize-insecure
在生产环境中使用,仅用于简化本教程。有关安全设置的更多信息,请参见 第17.5节“组复制安全性”。
17.2.1.2配置组复制实例
本节介绍要用于组复制的MySQL Server实例所需的配置设置。有关背景信息,请参见 第17.7.2节“组复制限制”。
组复制服务器设置
要安装和使用组复制插件,必须正确配置MySQL Server实例。建议将配置存储在实例的配置文件中。有关详细信息,请参见第4.2.6节“使用选项文件”。除非另有说明,以下是组中第一个实例的配置,在此过程中称为s1。以下部分显示了服务器配置示例。
[mysqld]# server configurationdatadir=<full_path_to_data>/data/s1basedir=<full_path_to_bin>/mysql-5.7/port=24801socket=<full_path_to_sock_dir>/s1.sock
这些设置将MySQL服务器配置为使用早期创建的数据目录,服务器应打开哪个端口并开始侦听传入连接。
使用24801的非默认端口,因为在本教程中,三个服务器实例使用相同的主机名。在使用三台不同机器的设置中,这不是必需的。
复制框架
以下设置根据MySQL组复制要求配置复制。
server_id=1gtid_mode=ONenforce_gtid_consistency=ONmaster_info_repository=TABLErelay_log_info_repository=TABLEbinlog_checksum=NONElog_slave_updates=ONlog_bin=binlogbinlog_format=ROW
这些设置将服务器配置为使用唯一标识符号1,以启用全局事务标识符,并将复制元数据存储在系统表中而不是文件中。此外,它指示服务器打开二进制日志记录,使用基于行的格式并禁用二进制日志事件校验和。有关详细信息,请参见 第17.7.2节“组复制限制”。
组复制设置
此时,my.cnf
文件可确保已配置服务器,并指示在给定配置下实例化复制基础架构。以下部分配置服务器的组复制设置。
transaction_write_set_extraction=XXHASH64loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"loose-group_replication_start_on_boot=offloose-group_replication_local_address= "127.0.0.1:24901"loose-group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"loose-group_replication_bootstrap_group= off
loose-
如果组复制插件在服务器启动时尚未加载,则用于上面的group_replication变量 的前缀指示服务器继续启动。
第1行指示服务器,每个事务必须收集写入集,并使用XXHASH64散列算法将其编码为散列。
第2行告诉插件,它正在加入或创建的组名称为“aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa”。
第3行指示插件在服务器启动时不会自动启动操作。
第4行告诉插件使用IP地址127.0.0.1或本地主机和端口24901用于组中其他成员的传入连接。
重要服务器侦听此端口上的成员到成员连接。该端口根本不能用于用户应用程序,但在运行组复制时,必须保留该组件的不同成员之间的通信。
group_replication_local_address
所有组成员都可以访问 配置的本地地址 。例如,如果每个服务器实例位于不同的机器上,则使用机器的IP和端口,例如10.0.0.1:33061。推荐的端口group_replication_local_address
是33061,但在本教程中,我们使用在一台机器上运行的三个服务器实例,因此使用端口24901到24903。第5行告诉插件,应该联系这些主机和端口上的以下成员,以防需要加入该组。这些是种子成员,当该成员想要连接到组时使用。首先加入服务器联系人(种子)之一,然后它要求组重新配置以允许加入服务器在组中被接受。请注意,这个选项并 没有需要列出组中的所有成员,而是应该在情况下联络服务器列表这个服务器希望加入该群。
启动组的服务器不会使用此选项,因为它是初始服务器,因此它负责引导组。第二个服务器加入询问组中唯一的成员加入,然后组扩展。第三台服务器加入可以询问这两个服务器中的任何一个加入,然后组再次扩展。后续服务器在加入时重复此过程。
警告同时加入多个服务器时,请确保它们指向已经在组中的种子成员。不要使用也加入组的成员作为种子,因为它们在联系时可能还没有在组中。
首先启动引导成员是一个好习惯,让它创建组。然后让它成为加入其他成员的种子成员。这确保了在连接其他成员时形成的组。
不支持创建组并同时加入多个成员。这可能是有效的,但可能是操作竞赛,然后加入组的行为会出现错误或超时。
第6行指示插件是否对组进行boostrap。
重要此选项只能在任何时间在一个服务器实例上使用,通常是第一次引导组(或如果整个组被关闭并重新备份)。如果您多次引导组,例如,当多个服务器实例设置此选项时,它们可能会创建一个人造裂脑方案,其中存在两个具有相同名称的不同组。在第一个服务器实例上线后禁用此选项。
组中所有服务器的配置非常相似。您需要更改有关每个服务器的细节(例如server_id
, datadir
,group_replication_local_address
)。这在本教程后面说明
17.2.1.3用户证书
组复制使用异步复制协议实现分布式恢复,将组成员同步到组之前同步。分布式恢复过程依赖于命名的复制通道group_replication_recovery
,用于在组成员之间传输事务。因此,您需要设置具有正确权限的复制用户,以便组复制可以建立直接的成员到成员恢复复制通道。
启动服务器:
mysql-5.7/bin/mysqld --defaults-file=data/s1/s1.cnf
创建具有该REPLICATION-SLAVE
权限的MySQL用户 。不应该在二进制日志中捕获此过程,以避免将更改传播到其他服务器实例。在以下示例中,显示了rpl_user
具有密码 的用户 rpl_pass
。配置服务器时使用合适的用户名和密码。连接到服务器s1并发出以下语句:
mysql> SET SQL_LOG_BIN=0;mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'rpl_pass';mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';mysql> FLUSH PRIVILEGES;mysql> SET SQL_LOG_BIN=1;
一旦用户被配置如上所述,使用 CHANGE MASTER TO
语句来配置服务器,以便group_replication_recovery
在下一次需要从另一个成员恢复其状态时,使用给定的凭据进行 复制通道。发出以下内容,替换 rpl_user
和 rpl_pass
使用创建用户时使用的值。
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' \\ FOR CHANNEL 'group_replication_recovery';
分布式恢复是加入组的服务器采取的第一步。如果这些凭据设置不正确,服务器将无法运行恢复过程并与其他组成员同步,因此最终无法加入组。类似地,如果成员无法通过服务器正确识别其他成员, hostname
则恢复过程可能会失败。建议运行MySQL的操作系统hostname
使用DNS或本地设置进行正确配置。这hostname
可以Member_host
在performance_schema.replication_group_members
表的列中 进行验证。如果多个组成员外部化一个默认值 hostname
由操作系统设置,会员无法解析正确的会员地址,无法加入该组。在这种情况下,可以使用每个服务器report_host
配置独特的hostname
外部化功能。
17.2.1.4启动组复制
一旦服务器s1被配置和启动,安装组复制插件。连接到服务器并发出以下命令:
INSTALL PLUGIN group_replication SONAME 'group_replication.so';
该mysql.session
用户必须存在,你可以加载组复制。 mysql.session
在MySQL版本5.7.19中被添加。如果您的数据字典是使用较早版本初始化的,则必须运行 mysql_upgrade过程。如果升级未运行,组复制无法从错误消息开始尝试使用用户访问服务器时出现错误:mysql.session@localhost。确保用户在服务器中,并且mysql_upgrade在服务器更新后运行。。
要检查插件是否已成功安装,请发出 SHOW PLUGINS;
并检查输出。应该显示如下:
mysql> SHOW PLUGINS;+----------------------------+----------+--------------------+----------------------+-------------+| Name | Status | Type | Library | License |+----------------------------+----------+--------------------+----------------------+-------------+| binlog | ACTIVE | STORAGE ENGINE | NULL | PROPRIETARY |(...)| group_replication | ACTIVE | GROUP REPLICATION | group_replication.so | PROPRIETARY |+----------------------------+----------+--------------------+----------------------+-------------+
要启动组,请指示服务器s1引导组,然后启动组复制。此引导程序只能由单个服务器完成,即启动该组并且仅启动一次的服务器。这就是引导配置选项的值没有保存在配置文件中的原因。如果将其保存在配置文件中,则重新启动后,服务器将自动引导具有相同名称的第二组。这将导致两个具有相同名称的不同组。同样的理由适用于停止并重新启动此选项设置为的插件ON
。
mysql> SET GLOBAL group_replication_bootstrap_group=ON;mysql> START GROUP_REPLICATION;mysql> SET GLOBAL group_replication_bootstrap_group=OFF;
一旦START GROUP_REPLICATION
声明返回,该组已经启动。您可以检查该组是否已创建,并且其中有一个成员:
mysql> SELECT * FROM performance_schema.replication_group_members;+---------------------------+--------------------------------------+-------------+-------------+---------------+| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |+---------------------------+--------------------------------------+-------------+-------------+---------------+| group_replication_applier | ce9be252-2b71-11e6-b8f4-00212844f856 | myhost | 24801 | ONLINE |+---------------------------+--------------------------------------+-------------+-------------+---------------+
该表中的信息确认组中有一个具有唯一标识符的成员 ce9be252-2b71-11e6-b8f4-00212844f856
,它正在ONLINE
和正在myhost
侦听端口上的客户端连接 24801
。
为了表明服务器确实在一个组中,并且能够处理加载,创建一个表并向其添加一些内容。
mysql> CREATE DATABASE test;mysql> USE test;mysql> CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 TEXT NOT NULL);mysql> INSERT INTO t1 VALUES (1, 'Luis');
检查表t1
和二进制日志的内容。
mysql> SELECT * FROM t1;+----+------+| c1 | c2 |+----+------+| 1 | Luis |+----+------+mysql> SHOW BINLOG EVENTS;+---------------+-----+----------------+-----------+-------------+--------------------------------------------------------------------+| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |+---------------+-----+----------------+-----------+-------------+--------------------------------------------------------------------+| binlog.000001 | 4 | Format_desc | 1 | 123 | Server ver: 5.7.19-gr080-log, Binlog ver: 4 || binlog.000001 | 123 | Previous_gtids | 1 | 150 | || binlog.000001 | 150 | Gtid | 1 | 211 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1' || binlog.000001 | 211 | Query | 1 | 270 | BEGIN || binlog.000001 | 270 | View_change | 1 | 369 | view_id=14724817264259180:1 || binlog.000001 | 369 | Query | 1 | 434 | COMMIT || binlog.000001 | 434 | Gtid | 1 | 495 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:2' || binlog.000001 | 495 | Query | 1 | 585 | CREATE DATABASE test || binlog.000001 | 585 | Gtid | 1 | 646 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:3' || binlog.000001 | 646 | Query | 1 | 770 | use `test`; CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 TEXT NOT NULL) || binlog.000001 | 770 | Gtid | 1 | 831 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:4' || binlog.000001 | 831 | Query | 1 | 899 | BEGIN || binlog.000001 | 899 | Table_map | 1 | 942 | table_id: 108 (test.t1) || binlog.000001 | 942 | Write_rows | 1 | 984 | table_id: 108 flags: STMT_END_F || binlog.000001 | 984 | Xid | 1 | 1011 | COMMIT /* xid=38 */ |+---------------+-----+----------------+-----------+-------------+--------------------------------------------------------------------+
如上所述,创建了数据库和表对象,并将其对应的DDL语句写入二进制日志。此外,数据已插入表中并写入二进制日志。随着新成员尝试追赶并上线,二进制日志条目的重要性将在下一节中说明,当组增长并且分发恢复被执行时
17.2.1.5向组中添加实例
在这一点上,该组中有一个成员,服务器s1,其中有一些数据。现在是通过添加以前配置的其他两个服务器来扩展组的时候了。
17.2.1.5.1添加第二个实例
为了添加第二个实例,服务器s2首先为其创建配置文件。配置类似于服务器s1所用的配置,除了数据目录的位置,s2将要侦听的端口或其上的内容之外 server_id
。这些不同的行在下面的列表中突出显示。
[mysqld]# server configurationdatadir=<full_path_to_data>/data/s2basedir=<full_path_to_bin>/mysql-5.7/port=24802socket=<full_path_to_sock_dir>/s2.sock## Replication configuration parameters#server_id=2gtid_mode=ONenforce_gtid_consistency=ONmaster_info_repository=TABLErelay_log_info_repository=TABLEbinlog_checksum=NONElog_slave_updates=ONlog_bin=binlogbinlog_format=ROW## Group Replication configuration#transaction_write_set_extraction=XXHASH64loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"loose-group_replication_start_on_boot=offloose-group_replication_local_address= "127.0.0.1:24902"loose-group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"loose-group_replication_bootstrap_group= off
与服务器s1的过程类似,配置文件就位,您启动服务器。
mysql-5.7/bin/mysqld --defaults-file=data/s2/s2.cnf
然后如下配置恢复凭据。这些命令与在组中共享用户时设置服务器s1时使用的命令相同。在s2上发出以下语句。
SET SQL_LOG_BIN=0;CREATE USER rpl_user@'%';GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass';SET SQL_LOG_BIN=1;CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' \\FOR CHANNEL 'group_replication_recovery';
安装组复制插件,并启动将服务器加入组的过程。以下示例以与部署服务器s1时使用的插件相同的方式安装插件。
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
将服务器s2添加到组中。
mysql> START GROUP_REPLICATION;
不像是同在S1上执行这些前面的步骤,这里有在你的差异 不发出SET GLOBAL group_replication_bootstrap_group=ON;
启动组复制,因为组已经创建,并通过服务器S1自举之前。此时,服务器s2只需要添加到已存在的组中。
当组复制成功启动并且服务器加入组时,它会检查该 super_read_only
变量。通过super_read_only
在成员的配置文件中设置为ON,您可以确保由于任何原因启动组复制失败的服务器不接受事务。如果服务器应该将该组作为读写实例加入,例如作为单主组中的主要组或作为多主组的成员,则当 super_read_only
变量设置为ON时,在加入时将其设置为OFF群组。
performance_schema.replication_group_members
再次 检查 表格显示组中现在有两个 ONLINE服务器。
mysql> SELECT * FROM performance_schema.replication_group_members;+---------------------------+--------------------------------------+-------------+-------------+---------------+| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |+---------------------------+--------------------------------------+-------------+-------------+---------------+| group_replication_applier | 395409e1-6dfa-11e6-970b-00212844f856 | myhost | 24801 | ONLINE || group_replication_applier | ac39f1e6-6dfa-11e6-a69d-00212844f856 | myhost | 24802 | ONLINE |+---------------------------+--------------------------------------+-------------+-------------+---------------+
由于服务器s2也被标记为ONLINE,它必须已经自动赶上了服务器s1。验证它确实与服务器s1同步如下。
mysql> SHOW DATABASES LIKE 'test';+-----------------+| Database (test) |+-----------------+| test |+-----------------+mysql> SELECT * FROM test.t1;+----+------+| c1 | c2 |+----+------+| 1 | Luis |+----+------+mysql> SHOW BINLOG EVENTS;+---------------+------+----------------+-----------+-------------+--------------------------------------------------------------------+| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |+---------------+------+----------------+-----------+-------------+--------------------------------------------------------------------+| binlog.000001 | 4 | Format_desc | 2 | 123 | Server ver: 5.7.17-log, Binlog ver: 4 || binlog.000001 | 123 | Previous_gtids | 2 | 150 | || binlog.000001 | 150 | Gtid | 1 | 211 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1' || binlog.000001 | 211 | Query | 1 | 270 | BEGIN || binlog.000001 | 270 | View_change | 1 | 369 | view_id=14724832985483517:1 || binlog.000001 | 369 | Query | 1 | 434 | COMMIT || binlog.000001 | 434 | Gtid | 1 | 495 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:2' || binlog.000001 | 495 | Query | 1 | 585 | CREATE DATABASE test || binlog.000001 | 585 | Gtid | 1 | 646 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:3' || binlog.000001 | 646 | Query | 1 | 770 | use `test`; CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 TEXT NOT NULL) || binlog.000001 | 770 | Gtid | 1 | 831 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:4' || binlog.000001 | 831 | Query | 1 | 890 | BEGIN || binlog.000001 | 890 | Table_map | 1 | 933 | table_id: 108 (test.t1) || binlog.000001 | 933 | Write_rows | 1 | 975 | table_id: 108 flags: STMT_END_F || binlog.000001 | 975 | Xid | 1 | 1002 | COMMIT /* xid=30 */ || binlog.000001 | 1002 | Gtid | 1 | 1063 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:5' || binlog.000001 | 1063 | Query | 1 | 1122 | BEGIN || binlog.000001 | 1122 | View_change | 1 | 1261 | view_id=14724832985483517:2 || binlog.000001 | 1261 | Query | 1 | 1326 | COMMIT |+---------------+------+----------------+-----------+-------------+--------------------------------------------------------------------+
如上所述,第二台服务器已经被添加到该组,并且自动地从服务器s1复制了更改。根据分布式恢复过程,这意味着服务器s2在加入组之后立即被联机,自动连接到服务器s1,并从中删除丢失的数据。换句话说,它从s1的二进制日志中复制了它丢失的事务,直到它加入组的时间点。
17.2.1.5.2添加其他实例
向组添加其他实例基本上与添加第二个服务器的步骤相同,只是必须更改配置,因为它必须用于服务器s2。总结所需的命令:
1.创建配置文件
[mysqld]# server configurationdatadir=<full_path_to_data>/data/s3basedir=<full_path_to_bin>/mysql-5.7/port=24803socket=<full_path_to_sock_dir>/s3.sock## Replication configuration parameters#server_id=3gtid_mode=ONenforce_gtid_consistency=ONmaster_info_repository=TABLErelay_log_info_repository=TABLEbinlog_checksum=NONElog_slave_updates=ONlog_bin=binlogbinlog_format=ROW## Group Replication configuration#transaction_write_set_extraction=XXHASH64loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"loose-group_replication_start_on_boot=offloose-group_replication_local_address= "127.0.0.1:24903"loose-group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"loose-group_replication_bootstrap_group= off
2.启动服务器
mysql-5.7/bin/mysqld --defaults-file=data/s3/s3.cnf
3.配置group_replication_recovery通道的恢复凭据。
SET SQL_LOG_BIN=0;CREATE USER rpl_user@'%';GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass';FLUSH PRIVILEGES;SET SQL_LOG_BIN=1;CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' \\FOR CHANNEL 'group_replication_recovery';
4.安装组复制插件并启动它。
INSTALL PLUGIN group_replication SONAME 'group_replication.so';START GROUP_REPLICATION;
此时,服务器s3已启动并运行,已加入组并赶上组中的其他服务器。performance_schema.replication_group_members
再次咨询 表,证实了这一点。
mysql> SELECT * FROM performance_schema.replication_group_members;+---------------------------+--------------------------------------+-------------+-------------+---------------+| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |+---------------------------+--------------------------------------+-------------+-------------+---------------+| group_replication_applier | 395409e1-6dfa-11e6-970b-00212844f856 | myhost | 24801 | ONLINE || group_replication_applier | 7eb217ff-6df3-11e6-966c-00212844f856 | myhost | 24803 | ONLINE || group_replication_applier | ac39f1e6-6dfa-11e6-a69d-00212844f856 | myhost | 24802 | ONLINE |+---------------------------+--------------------------------------+-------------+-------------+---------------+
在服务器s2或服务器s1上发出相同的查询产生相同的结果。此外,您可以验证服务器s3是否也被捕获:
mysql> SHOW DATABASES LIKE 'test';+-----------------+| Database (test) |+-----------------+| test |+-----------------+mysql> SELECT * FROM test.t1;+----+------+| c1 | c2 |+----+------+| 1 | Luis |+----+------+mysql> SHOW BINLOG EVENTS;+---------------+------+----------------+-----------+-------------+--------------------------------------------------------------------+| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |+---------------+------+----------------+-----------+-------------+--------------------------------------------------------------------+| binlog.000001 | 4 | Format_desc | 3 | 123 | Server ver: 5.7.17-log, Binlog ver: 4 || binlog.000001 | 123 | Previous_gtids | 3 | 150 | || binlog.000001 | 150 | Gtid | 1 | 211 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1' || binlog.000001 | 211 | Query | 1 | 270 | BEGIN || binlog.000001 | 270 | View_change | 1 | 369 | view_id=14724832985483517:1 || binlog.000001 | 369 | Query | 1 | 434 | COMMIT || binlog.000001 | 434 | Gtid | 1 | 495 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:2' || binlog.000001 | 495 | Query | 1 | 585 | CREATE DATABASE test || binlog.000001 | 585 | Gtid | 1 | 646 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:3' || binlog.000001 | 646 | Query | 1 | 770 | use `test`; CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 TEXT NOT NULL) || binlog.000001 | 770 | Gtid | 1 | 831 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:4' || binlog.000001 | 831 | Query | 1 | 890 | BEGIN || binlog.000001 | 890 | Table_map | 1 | 933 | table_id: 108 (test.t1) || binlog.000001 | 933 | Write_rows | 1 | 975 | table_id: 108 flags: STMT_END_F || binlog.000001 | 975 | Xid | 1 | 1002 | COMMIT /* xid=29 */ || binlog.000001 | 1002 | Gtid | 1 | 1063 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:5' || binlog.000001 | 1063 | Query | 1 | 1122 | BEGIN || binlog.000001 | 1122 | View_change | 1 | 1261 | view_id=14724832985483517:2 || binlog.000001 | 1261 | Query | 1 | 1326 | COMMIT || binlog.000001 | 1326 | Gtid | 1 | 1387 | SET @@SESSION.GTID_NEXT= 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:6' || binlog.000001 | 1387 | Query | 1 | 1446 | BEGIN || binlog.000001 | 1446 | View_change | 1 | 1585 | view_id=14724832985483517:3 || binlog.000001 | 1585 | Query | 1 | 1650 | COMMIT |+---------------+------+---
- mysql5.17组复制安装
- mysql5.7.20组复制gtid的安装
- MySQL5.5配置安装半同步复制
- MySQL5.5半同步复制配置安装
- windows mysql5.7 安装+主从复制
- mysql5.17安装教程
- windows下安装mysql5.6.13的主从复制
- mysql5.6二进制安装,主从/主主复制
- MySQL5.6配置版安装及主从复制配置
- MySQL5.7.19安装及主从复制构架配置
- MySQL5.5 主从复制
- MySQL5.5 主从复制
- MySQL5.5 主从复制
- MySQL5.6主从复制
- Mysql5.6.21-GTID复制
- mysql5.5.27主从复制
- mysql5.7主从复制
- mysql5.6主从复制
- 图解Android和Linux发行版的区别
- 爬取新浪、网易、今日头条、UC四大网站新闻标题及内容
- java 如何读取配置文件
- 662. Maximum Width of Binary Tree
- js购物车
- mysql5.17组复制安装
- oracle中sequence详解
- Android Okhttp缓存:精细化每一个Request的CacheControl缓存控制策略(二)
- 2006年培养学员8万人,每年增长%25,请问按此增长速度,到那一年培训学员人数将达到20万人用for,while,dowhile,实现
- ansible inventory.py 脚本
- mysql数据库show tables 显示表名,但是查询的时候却提示此表不存在
- UEditor 富文本编辑器拓展之-----上传图片至项目之外或资源服务器
- 解决使用tf.slim找不到slim.utils函数问题
- The Monochrome Picture SGU