系列文章目录
【MySQL 流浪之旅】 第一讲 MySQL 安装
【MySQL 流浪之旅】 第二讲 MySQL 基础操作
目录
前言
今天主要介绍 MySQL Utilities 工具集。
MySQL Utilities是一系列使用Python2.6实现的命令行工具,便于维护和管理MySQL服务器。该工具集提供了MySQL数据库运维工程中常用的一些工具,诸如克隆、复制、比较、导出、导入、安装、配置、索引、磁盘查看等功能。
一、MySQL Utilities 功能及组件
Binary Log Operations(二进制日志操作):
mysqlbinlogmove 二进制日志移动
mysqlbinlogpurge 二进制日志清理
mysqlbinlogrotate 二进制日志老化工具
Database Operations(数据库操作):
mysqldbexport 数据导出
mysqldbimport 数据导入
mysqldbcopy 库级别数据库复制
mysqldiff 数据库对象级别比较工具
mysqldbcompare 数据库库级别比较工具
General Operations(通用用的操作):
mysqldiskusage 磁盘空间查看
mysqlfrm 恢复故障表.frm文件
mysqluserclone 用户克隆工具
mysqluc Utilities帮助工具
mysqlindexcheck 索引检测工具
mysqlmetagrep 元数据过滤器
mysqlprocgrep 进程搜索及清理工具
High Availability Operations(高可用):
mysqlreplicate 主从复制工具
mysqlrpladmin 主从复制管理工具
mysqlrplcheck 主从复制检测工具
mysqlrplms 主从多元复制工具
mysqlrplshow 主从复制拓扑图工具
mysqlrplsync 主从复制同步工具
mysqlfailover 主从failover工具
mysqlslavetrx 从库事务跳过工具
Server Operations(服务器操作):
mysqlserverinfo 服务器信息查看工具
mysqlserverclone 服务器克隆工具
Specialized Operations(特殊操作):
mysqlauditadmin 审计管理工具
mysqlauditgrep 审计日志过滤工具
下面我就对于我常用的几个组件与大家分享一下,其他不常用的也不熟悉,就不班门弄斧误导大家了。
二、mysqldbexport 数据导出
mysqldbexport是一个能以特定的格式进行导出的备份工具,能从一个或多个数据库导出对象定义的元数据和数据。
导出格式:
- sql(默认):以sql语句的方式输出。
- Grid:网格化输出,类似于mysql命令行客户端输出。
- Csv:逗号分隔符输出。
- Tab:制表符格式输出。
- Vertical:类似于mysql命令行客户端\G执行的输出。
--no-headers 关闭CSV或tab显示对象的格式头部
--quiet 关闭所有反馈信息
--file-per-table 每个表数据单独保存。每个文件的名称以数据库和表名称组成
---带表结构导出
mysqldbexport --server=user:user@192.168.0.11:3306:/tmp/sock/mysql.sock --format=sql test --display=full --export=definitions --skip-gtid -vv --locking=snapshot --skip-fkey-checks > /tmp/output.sql
---导出数据,insert形式sql导出
mysqldbexport --server=user:user@192.168.0.11:3306:/tmp/sock/mysql.sock --format=sql test --display=full --export=data -vv --locking=snapshot --skip-fkey-checks > /tmp/output.sql
2.1. 参数选项
三、mysqldbimport 数据导入
mysqldbimport的功能是将通过mysqldbexport导出的数据导入到数据库中。
导入格式:
- sql(默认):以sql语句的方式输出。
- Grid:网格化输出,类似于mysql命令行客户端输出
- Csv:逗号分隔符输出
- Tab:制表符格式输出
- Vertical:类似于mysql命令行客户端\G执行的输出
--no-headers 关闭CSV或tab显示对象的格式头部
--quiet 关闭所有的反馈信息
--new-storage-engine 指定新的存储引擎
mysqldbimport导入:
---mysqldbimport导入
mysqldbimport --server=root:root@192.168.0.11:3306:/tmp/sock/mysql.sock --format=sql --skip-gtid -vv --import=both --drop-first /tmp/test.sql
---mysqldbimport批量导入
mysqldbimport --server=root:root@192.168.0.11:3306:/tmp/sock/mysql.sock --format=sql --skip-gtid -vv --import=both --bulk-insert --drop-first /tmp/test.sql
3.1. 参数选项
四、mysqldbcompare 数据库库级别比较
mysqldbcompare工具可以用于比较两个数据库对象以及数据的不同。
检测内容:数据库定义、表、视图、触发器、存储过程、函数、时间、表的数据行数和表数据的一致性。
参数说明:
- Grid 网格化输出,类似于MySQL命令行客户端输出
- CSV 逗号分隔格式输出
- Tab 制表符格式输出
- Vertical 类似于MySQL客户端\G执行的输出
--changes-for={server_name} 输出差异修复内容
--format 控制差异修复内容输出格式
mysqldbcompare --server1=user:user@localhost:3306 --server2=user:user@localhost:3307 test1:test2 --changes-for=server1 --difftype=sql > test.sql
- PASS 测试成功
- FAIL 测试失败
- SKIP 缺少或跳过测试
- WARN 测试时出现不寻常的但不是错误
- 测试不适用与该对象