MySQL Utilities 是一组基于python语言编写的python库的命令行实用工具集,由MySQL官方提供,后续会集成到mysql-shell。该工具提供了MySQL数据库运维工程中常用的一些工具,主要有五个层面的工具:数据库层面(复制、比较、差异、导出、导入)、审核日志层面、服务器层面(实例克隆、实例信息)、系统层面(磁盘使用情况、冗余索引、搜索元数据、进程)、高可用性层面(主从复制、故障转移、主从同步)。MySQL Utilities提供了各种平台的软件包,如果没有找到对应平台的包,可以通过源码进行编译安装。本文主要描述MySQL Utilities安装以及各个工具功能初步描述。
一、MySQL Utilities基本介绍
命令使用链接:
https://blog.csdn.net/qq_42979842/article/details/107702765
1.1 数据库运维层面
mysqldbcompare-比较两个数据库并找出差异
-
比较两个服务器或同个服务器上的数据库
-
比较定义文件和数据
-
产生差异报告
-
生成差异性的转换SQL语句
mysqldbcopy-在服务器之间复制数据库对象
-
服务器之间复制数据库
-
在同一台服务器上克隆数据库
-
支持重命名
mysqldbexport-从数据库导出对象定义或数据
- 从一个或多个数据库导出元数据和或数据
- 支持的格式: SQL, CSV, TAB, Grid, Vertical
mysqldbimport-将对象定义或数据导入数据库
- 从一个或多个文件导入元数据和数据
- 支持mysqldbexport各种格式
mysqldiff-识别数据库对象之间的差异
- 比较对象的定义
- 产生差异的报告
mysqlgrants-显示每个对象的授权
1.2 审记日志层面
MySQL社区版不支持审计日志,本文只做工具作用介绍,不讲解使用。
mysqlauditadmin-允许用户对审核日志执行维护操作
-
监控审计日志
-
复制、轮转和配置审核日志
mysqlauditgrep-允许用户搜索当前或存档的审核日志
-
搜索日志
-
输出不同格式的结果
1.3 服务器层面
命令使用链接:
https://blog.csdn.net/qq_42979842/article/details/107702883
mysqlserverclone-克隆现有服务器以创建新服务器
- 克隆一个新的实例
mysqlserverinfo-显示来自服务器的公共诊断信息
- 显示服务器信息
- 搜索主机上运行的服务
- 访问在线或离线的服务
1.4 系统层面
命令使用链接:
https://blog.csdn.net/qq_42979842/article/details/107702933
mysqldiskusage-显示数据库磁盘使用情况
- 显示数据库磁盘使用情况
- 生产的报表有: SQL, CSV, TAB, Grid, Vertical
mysqlfrm-用于.frm文件的文件读取器
读.frm
文件, 可以以byte-by-byte 诊断模式- 表生成
CREATE
语句
mysqlindexcheck-标识潜在的冗余表索引
- 读取一个或多个表的索引
- 检查冗余和重复的索引
- 生成的报表有: SQL, CSV, TAB, Grid, Vertical
mysqlmetagrep-搜索数据库对象定义
- 搜索元数据
- 正则表达式搜索数据库
- 搜索查询生成SQL语句
mysqlprocgrep-搜索服务器进程列表
- 搜索进程信息
- 搜素生成SQL语句
- kill掉匹配到的进程
mysqluserclone-克隆现有用户以创建新用户
- 克隆用户
- 显示用户权限
mysqluc-用于运行MySQL实用程序的命令行客户机
- MySQL Utilities 命令行客户端
- 允许长连接到 MySQL 服务器
- 可以使用Tab键来完成工具名称和选项
- 允许使用命令的短名称,如 serverinfo 代替mysqlserverinfo
1.5 高可用层面
命令使用链接:
https://blog.csdn.net/qq_42979842/article/details/107702972
mysqlfailover-自动复制运行状况监视和故障转移
- 提供对复制结构故障自动转移
- 使用全局事务标识符 (GTID, MySQL Server 5.6.5+)
mysqlreplicate-在两台服务器之间设置并启动复制
- 设置复制
- 从一开始,当前,特定的binlog,pos复制
mysqlrplms-在一个从机和多个主机之间设置和启动复制
- 提供round-robin multi-source 复制(a slave server continually cycles through multiple masters in order to store a consolidated data set)
- 使用全局事务标识符 (GTID, MySQL Server 5.6.5+)
mysqlrpladmin-用于MySQL复制的管理实用程序
- 管理复制拓扑
- 允许恢复主
- 命令包括 elect, failover, gtid, health, start, stop, and switchover
mysqlrplcheck-检查复制先决条件
- 检查复制配置
- 在主上测试二进制日志
mysqlrplshow-显示主服务器的从属服务器
- 查看从连接到的主
- 可以递归搜索
- 显示复制拓扑图形或列表
mysqlrplsync-复制同步检查程序
- 检查服务器之间的数据一致性
- 使用全局事务标识符(GTID)
- 需要MySQL Server 5.6.14 和更高版本
mysqlbinlogmove-二进制日志移动
- 移动binlog日志
mysqlbinlogpurge-二进制日志清除
- 清理binlog日志
mysqlbinlogrotate-二进制日志老化工具
- 切换binlog日志
mysqlslavetrx-从事务批量跳过
- 用来跳过复制错误