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, csv,tab,sql和vertical。默认为grid。
MySQL Utilities管理工具的更多相关文章
- (5.6)mysql高可用系列——MySQL Utilities 管理工具
关键词:mysql工具集,mysql管理工具,mysql utilities [1]安装mysql utilities cd /download wget https://cdn.mysql.com/ ...
- mysql监控管理工具--innotop
https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/innotop/innotop-1.9. ...
- MYSQL客户端管理工具
双击安装navicact客户端管理工具: 双击启动脚本,并指定管理工具的navicat.exe文件 最后打开
- MySQL可视化管理工具 —— Navicat for MysSQL
类似PL/SQL管理Oracle的工具 Navicat可以管理MySQL 1.安装 2.连接(输入IP.端口.用户名.密码) 3.新建sql语句:点击左侧database.点击菜单“查询”.点击“新建 ...
- mysql可视化管理工具
1.navicat for mysql 2.navicat premium 3.HeidiSQL 4.MySQLWorkbench
- Java课程设计---安装Mysql及管理工具
1.安装mysql 没有安装包的可以在这个地址下载:https://dev.mysql.com/downloads/mysql/5.5.html 双击提供的安装包 (安装路径可以不用更改) 在弹出的窗 ...
- mysql 管理工具
摘自: http://www.chinaz.com/free/2009/0306/68691.shtml MySQL是一个非常流行的小型关系型数据库管理系统,2008年1月16号被Sun公司收购.目前 ...
- 使用VS Code的MySQL扩展管理数据库
我将在本文告诉你如何用VS Code的扩展程序管理MySQL数据库,包括连接到MySQL.新建数据库和表.修改字段定义.简单的查询方法以及导入导出. 在许多情况下,我们需要随时查看数据库的记录来确保程 ...
- MySQL管理工具MySQL Utilities — 介绍与安装(1)
MySQL Utilities介绍 MySQL Utilities 提供一组命令行工具用于维护和管理 MySQL 服务器,包括: 管理工具 (克隆.复制.比较.差异.导出.导入) 复制工具 (安装.配 ...
随机推荐
- NOIp2005 过河【dp+离散化】By cellur925
题目传送门 $30pts$ 状态和转移都比较好想:设$f[i]$表示跳到$i$位置,踩到的最小石子数.转移方程也很明了,为$f[i]$=$min${$f[i-j]$),,这个位置有石子时答案再加1,$ ...
- Calculation 2 HDU - 3501
https://vjudge.net/problem/HDU-3501 不会做啊...记一下做法 做法是计算小于n且与n互质的数的和:根据如果gcd(i,n)==1,那么gcd(n-i,n)==1,对 ...
- 洛谷 P4135 作诗
分块大暴力,跟区间众数基本一样 #pragma GCC optimize(3) #include<cstdio> #include<algorithm> #include< ...
- Eclipse显示空白符,及使用google代码格式化
启动Eclipse,打开Preferences对话框.菜单“window”-“Preferences”. 找到Text Editors,勾选show whitespace characters,如图: ...
- 当css样式表遇到层
(附:White-space:pre可以是样式表里卖弄body的属性,作用是保持html源代码的空格与换行,等同<pre>标签.) Css样式表可以通过被封在层里的方式来限制页面所修饰的内 ...
- 167 Two Sum II - Input array is sorted 两数之和 II - 输入有序数组
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数.函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2.请注意,返回的下标值(i ...
- jQuery access()方法
最开始只是想了解attr方法,发现它内部调用了jQuery.access()方法.除了attr,还有prop.text.html.css.data 都是内部调用了jQuery.access()方法,可 ...
- mysql replication错误常见处理
大部分的错误,都是日志错误 日志本身的错误 主日志和中继日志都可能出错,可以使用mysqlbinlog来读一下mysqlbinlog mysql-bin.000007>/dev/null ##只 ...
- 爬虫中动态的POST参数
爬虫的过程中,有的网站提交POST数据时候每次都会带上不懂POST参数,要想爬到数据首先的知道怎么构造这些动态的参数. 1.分析提交POST数据的最原始网页,分析原始网页的源代码,查找里面是否包含有你 ...
- Java-学完一个月总结(javaSe学习路线)
JavaSe的一个月 第一周 0410 基本数据类型:数据类型的转换:运算符:导入删除项目0411 分支结构if else:switch case ;while0412 do while ;for / ...