• MySQL Utilities管理工具


    前提:

    1、安装MySQL Utilities工具

    2、复制my_print_defaults命令至/usr/bin下或写入环境变量。

    卸载方式:

    python ./setup.py clean --all   即可全部卸载

    1、mysqlrplsync工具。

    用来检查主从复制的数据一致性的工具。

    需要开启GTID模式

    mysqlrplsync --master=check:pass@192.168.152.157:3310--slaves=check:pass@192.168.152.159:3311,check:pass@192.168.152.160:3312

    注意:mysqlrplsync工具不支持replicate-ignore-db等过滤参数

    2、mysqlfailover 工具。

    需要开启GTID模式

    用来监控复制状态并实现故障转移的高可用工具。

    mysqlfailover --master=failover:123456@'192.168.1.100':13306 --discover-slaves-login=failover:123456 --daemon=start --log=/data/failover.log --candidates=failover:123456@'192.168.0.109':3306 --ping=2 -interval=5

    --candidates:候选服务器,即当master宕机之后,最先选择的服务器。

    --ping:服务器检测的一部分,用来ping主机服务器是否正常,默认3S间隔。

    -interval:生成健康检测报告的时间间隔,默认15S,最小间隔5S

    3、mysqlrpladmin 工具。

    一个mysql总的管理工具,也是一个复制管理工具。

    功能与mysqlfailover 类似,都是提供复制状态检测和高可用的工具。

    查看详细的复制状况报告,但不需要复制监控检查:

    mysqlrpladmin --master=failover:123456@'192.168.152.157':13306 --slaves=failover:123456@'192.168.152.159':13306 --verbose health

    4、mysqlslavetrx 工具。

    用来跳过复制错误的工具。

    mysqlslavetrx --gtid-set=af6b22ee-7b0b-11e4-aa8d-606720440b68:7-9 --slaves=user:pass@localhost:3311,user:pass@localhost:3312 --dryrun

     --gtid-set:要跳过的全局事务标识符(GTID)集。

    --slaves:从服务器的连接信息。在逗号分隔列表中列出多个从站。

    --dryrun:在干运行模式下执行该实用程序,显示为每个从站跳过的事务(GTID),但没有有效地跳过它们。此选项可用于验证是否跳过了正确的事务。

    --verbose,-v:定要显示的信息量。多次使用此选项可增加信息量。例如,-v= verbose,-vv= more verbose,-vvv= debug。详细模式。

    5、mysqlbinlogpurge工具。

    用来清除二进制日志。

    从主服务器清除所有未使用的二进制日志文件,指定要检查的从服务器:

    mysqlbinlogpurge --master=root:root@localhost:3310 --slaves=root:root@localhost:3311,root:root@localhost:3312,root:root@localhost:3313 -vv

    在特定二进制日志文件之前清除所有未使用的二进制日志文件:

    mysqlbinlogpurge --master=root:root@localhost:3310 --slaves=root:root@localhost:3311,root:root@localhost:3312,root:root@localhost:3313 --binlog=mysql-bin.000027 -v

     6、mysqldbcopy在线复制工具

    mysqldbcopy --skip-gtid --source=failover:123456@192.168.152.159:13306 --destination=failover:123456@192.168.152.160:13306 -vvv  --regexp --exclude=^t --drop-first  test:test

    如果mysql实例在相同的服务器上,那么数据库名不能相同,如:test:test。

    需要with grant option权限

    也可以用来做在线备份,如果不想影响在线业务,那么可以不加表锁复制,参数为:--locking=

    --locking:

    no-locks 不使用任何表锁

    lock-all 使用表锁,无事务和一致性读

    snapshot 默认,单一事务的一致性读

     --source:源服务器。要被复制的服务器。

     --destination:目标服务器。

     test:test:源服务器的数据库名:目标服务器的数据库名。

    --regexp:正则匹配要排除的表名,在--exclude=参数中排除。如:--exclude=^t,排除掉以t开头的表名

    注意,在原来就是master或slave的机器上,需要先reset master和reset slave清除遗留信息,然后才能同步数据。

    --rpl:指定主从,自动创建change master to语句并执行

    --rpl=master:将目标服务器作为源服务器的从机,自动创建change master to语句并执行

     --rpl=slave:只有在源服务器是从机的情况下有用

    --rpl-user:指定复制账号,例:--rpl-user=backup:123456

    如果开启GTID的话,直接可以配置并行复制:

    mysqldbcopy --source=failover:123456@192.168.152.161:3306 --destination=failover:123456@192.168.152.158:3306 -vvv --drop-first --all --rpl=master --rpl-user=backup:123456

    首先需要创建好replication账号和COPY权限的账号。

    注意:

    1、要预先创建好相同的用户,否则执行事件存储过程等会报错。

    2、当表中含有blob字段时,复制会出错,并抛出哪些字段有问题,解决方法:

    更改​​表(alter)以删除复制之前标识的blob字段NOT NULL限制,并在复制后恢复限制。同样,必须在复制之前删除在blob字段上需要NOT NULL的任何索引, 并在复制之后重新创建。

    该工具和mysqldump一样,都是读取一致性快照,如:时间点7点整开始备份,7点19分结束,那么复制过来的数据就是7点整那个时间点的。

    7、mysqldiff工具

    该工具是用来比较两个数据库之间差异,也可以用来做实时备份同步。

    mysqldiff --server1=root@host1 --server2=root@host2 --difftype=sql db1.table1:dbx.table3

    --server1:默认方向,对比库

    --server2:被对比的库

    --difftype:不同的地方转换为SQL语句

    db1:为server1的库名

    dbx:为server2的库名。

    8、审计工具:

    该工具是只有企业版本才有的,如果想要开启审计,那么可以下载第三方审计插件开启。

    审计日志插件记录MySQL服务器活动。默认情况下,它设置为将所有审核事件写入日志文件。

    mysqlauditadmin --server = failover @ localhost:3306 policy --value = ALL --audit-log-name =/data/mysql_audit.log --show-options 

     --value =:写入策略。可选:

    LOGINS :仅将登录事件写入日志。

    ALL(写入所有事件)

    QUERIES(只写查询事件)

    NONE(禁用日志记录)

    DEFAULT(使用默认策略)

    9、索引检查工具:

    mysqlindexcheck可以扫描除mysql, INFORMATION_SCHEMA和performance_schema之外的任何数据库

    mysqlindexcheck --server='root':'123456'@'192.168.0.111':3306 -d  --stats --format=sql -vvv test

    检查冗余或重复索引

    -d:显示删除索引的DROP语句。

    --format:

    指定输出的索引列表显示格式允许的格式值是grid, csvtabsqlvertical默认为grid

  • 相关阅读:
    ASP.NET MVC 5 安全性和创建用户角色
    使用ENTITY FRAMEWORK 6以正确的方式管理DBCONTEXT:深入指南
    C#读取二进制格式的shapefile
    ASP.NET MVC 应用程序初学者常见问题汇总
    ASP.NET MVC 应用程序中使用CKEditor 4 的步骤
    html5学习笔记2
    html5学习笔记
    c#接口定义与应用
    Django ORM 优化心得
    携程的那点事
  • 原文地址:https://www.cnblogs.com/magmell/p/9257935.html
Copyright © 2020-2023  润新知