MySQL Utilities基本介绍

戚修雅
2023-12-01


  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-从事务批量跳过

  • 用来跳过复制错误

No module named utilities.common.tools异常修复

yum remove mysql-connector-python -y
#centos 7
rpm -Uvh http://repo.mysql.com/yum/mysql-connectors-community/el/7/x86_64/mysql-connector-python-2.1.8-1.el7.x86_64.rpm
#centos 6
rpm -Uvh http://repo.mysql.com/yum/mysql-connectors-community/el/6/x86_64/mysql-connector-python-2.1.8-1.el6.x86_64.rpm
yum install mysql-utilities
 类似资料: