mysql utilities 安装_「MySQL Utilities」- 安装 @20210220

钦枫
2023-12-01

在 MySQL Utilities 中,包含众多管理 MySQL 的脚本工具,比如数据库结构对比、用户账户克隆、索引检查等等。目的是将复杂操作封装到单个工具中,以简化操作。

使用开源工具最担心:登船之后,船长跑路。目前 MySQL Utilities 支持 Python 2 环境,还没有得到支持 Python 3 环境的消息。至少在 MySQL 8 以前可以放心使用。

相关连接

项目仓库:https://github.com/mysql/mysql-utilities

下载地址:https://downloads.mysql.com/archives/utilities

Appendix F MySQL Utilities

开始安装

第一步、下载

我们安装 1.6.5 版本,可以直接从官网下载页中获取:

#!/bin/sh

# https://dev.mysql.com/downloads/utilities/

wget https://downloads.mysql.com/archives/get/p/30/file/mysql-utilities-1.6.5.tar.gz

第二步、安装

当下载完成后,执行以下命令安装该工具:

#!/bin/sh

tar -xf mysql-utilities-1.6.5.tar.gz

cd mysql-utilities-1.6.5

python ./setup.py install --record instfile.log # 安装命令工具

1)使用选项 --record instfile.log 记录安装到系统的文件,在卸载时使用(手动删除)。

2)执行 python setup.py help 查看其他选项及帮助信息。

3)所有命令会默认安装在 /usr/local/ 中。

安装到系统的命令

在 MySQL Utilities 中,工具可以分为以下类别:

二进制日志相关的工具

数据库对象相关的工具;

通用工具;

高可用相关的工具;

服务相关的工具;

专业操作工具;

下面将按照分类介绍这些工具的作用。

二进制日志操作(Binary Log Operations)

下面的这几个工具使用于二进制日志文件操作的

mysqlbinlogmove

重新定位二进制日志文件;

根据其序列号或修改日期移动文件;

mysqlbinlogpurge

二进制日志清除工具;

mysqlbinlogrotate

轮转二进制日志;

数据库对象的操作(Database Operations)

下面的这几个命令是用于数据库操作

mysqldbcompare

比较两台服务器或同一服务器上的数据库

比较定义和数据

生成差异报告

生成SQL转换语句

mysqldbcopy

在服务器之间复制数据库

在同一台服务器上克隆数据库

支持重命名

mysqldbexport

从一个或多个数据库导出元数据/数据

格式:SQL, CSV, TAB, Grid, Vertical

mysqldbimport

从一个或多个文件导入元数据和数据

从mysqldbexport读取所有格式

mysqldiff

比较数据库对象定义

生成差异报告

通用操作(General Operations)

下面程序是用于执行一般操作的工具,比如报告和搜索。

mysqlgrants

显示每个对象的授权。

由用户,用户授予和GRANT语句生成报告。

mysqldiskusage

显示数据库的磁盘使用情况

以SQL,CSV,TAB,Grid,Vertical生成报表

mysqlfrm

读取.frm文件,可选择逐字节诊断模式

从表定义数据中生成CREATE语句

mysqlindexcheck

读取一个或多个表的索引

检查冗余和重复的索引

以SQL,CSV,TAB,Grid,Vertical生成报表

mysqluserclone

将用户帐户克隆到相同或不同的服务器

显示用户授权

mysqlmetagrep

搜索元数据

使用Regexp进行数据库搜索

生成用于搜索查询的SQL语句

mysqlprocgrep

搜索进程信息

生成用于搜索的SQL语句

杀死与查询匹配的进程

mysqluc

用于运行MySQL实用程序的命令行客户机

允许持久连接到MySQL服务器

实用程序名称和选项的自动补全

允许使用较短的名称调用命令,例如使用“serverinfo”调用mysqlserverinfo

高可用相关工具(High Availability Operations)

mysqlfailover

在复制拓扑上提供自动故障转移

使用全局事务标识符(GTID,MySQL服务器5.6.5+)

mysqlreplicate

设置复制

从开始,当前,指定的Binary Log位置开始

mysqlrpladmin

管理复制拓扑

允许恢复主机

命令包括elect,failover,gtid,health,start,stop和switchover

mysqlrplcheck

检查复制配置

测试master上的Binary Log记录

mysqlrplms

提供循环多源复制(从服务器连续循环多个主机以存储统一数据集)

使用全局事务标识符(GTID,MySQL Server 5.6.9+)

mysqlrplshow

显示Slave所属的Master

可以递归搜索

将复制拓扑显示为图形或列表

mysqlrplsync

检查复制设置中服务器之间的数据一致性

使用全局事务标识符(GTID)

MySQL 5.5.14+

mysqlslavetrx

跳过Slave上的多个事务。

使用全局事务标识符(GTID)

服务器操作(Server Operations)

mysqlserverclone

启动正在运行的服务器的新实例。

mysqlserverinfo

显示服务器信息

可以在主机上搜索运行的服务器 访问在线或离线服务器

专业操作(Specialized Operations)

mysqlauditadmin

监控审计日志

复制、轮转、配置审计日志

mysqlauditgrep

搜索审计日志

已不同的格式输出

常见错误列表

#1 No module named connector.conversion

ImportError: No module named connector.conversion

问题原因:因为该工具使用 Python 开发,在连接数据库时需要 mysql-connector 库,而在系统中没有安装该库,所以产生该错误。

解决办法:安装 mysql-connector 库:pip install mysql-connector==2.1.4

注意事项:在我们的场景中,最开始从 pip 中安装的是 mysql-connector 2.2.3 版本。当我们执行安装命令后,产生安装失败提示”...... Unable to find Protobuf include directory. ......“错误。解决办法是在网上找到的,需要使用 mysql-connector 2.1.4 版本。

相关文章

「MySQL」- 使用 XtraBackup 备份

「Percona Toolkit」- 安装及介绍

参考文献

MySQL Utilities 1.6 Manual

访问MySQL Utilities的下载页面

Github Source Code

Homepage

 类似资料: