MySQL管理工具MySQL Utilities — mysqlrplms(42)

  • A+
所属分类:MySQL

mysqlrplms 工具允许用户设置多主单从的复制,即从多个主复制。需要提供每个主和从的登录信息。

该工具报告条件是当主和从的存储引擎不一样时。如果主和从的存储引擎不同将产生告警信息。对于Innodb存储引擎而言,必需完全一样,Innodb的类型(built-in 或 InnoDB Plugin)需要一样,同时主次版本号也要一样,并启用状态。

默认情况下,该工具的警告问题在于下面的信息不匹配,存储引擎设置、默认存储引擎和Innodb存储引擎。

为了查看存储引擎和innodb值之间的差异,可以使用-vv选项。

round-robin 调度用于设置主从之间的复制。

mysqlrplms 适用于下面的条件:

  • 所有的服务器都启用 GTIDs 。
  • 来自不同的主没有事务冲突。如,没有来自对多个主的同一对象更新。
  • 复制是异步的。

选项

注意事项

登录主服务器的用户必须具有对访问数据库的授权权限和创建账号的权限。也就是WITH GRANT OPTION 权限。

主和从的server ID必须非零和唯一的。如果为0或相同产生错误报告。

IP地址和主机名混合使用不推荐。涉及到反向解析的问题。

MySQL客户端工具的路径需要包含在PATH环境变量中,以便使用login-paths验证机制。允许使用my_print_defaults 来从登陆配置文件(.mylogin.cnf)读取login-path值。

对于多主复制,使用临时表有一些限制。为了避免出现问题,建议执行所有的语句的临时表在单个事务中。

实例

在同一台服务器上使用默认设置,不同端口,配置2个主1个从的多主复制,命令如下:

使用 --report-values 选项来报告health, GTID 和 UUID 状态,命令如下:

以守护进程方式运行多主复制,命令如下:

以守护进程方式重新启动多主复制,命令如下:

停止多主复制,命令如下:

建议

在从的my.cnf文件中配置read_only=1来确保数据不被意外修改,只允许从主读取事件。

权限

在主上需要对mysql数据库具有SELECT 和 INSERT权限,同时还要有REPLICATION SLAVE, REPLICATION CLIENT 和 GRANT OPTION权限。

在从上需要有SUPER 权限。

对于复制用户, --rpl-user 选项使用的,要么自动创建要么指定已经存在的,需要具有 REPLICATION SLAVE 权限。

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: