【MySQL 流浪之旅】第三讲 MySQL 基本工具

发布时间:2024年01月23日

系列文章目录

【MySQL 流浪之旅】 第一讲 MySQL 安装
【MySQL 流浪之旅】 第二讲 MySQL 基础操作


目录

系列文章目录

前言

一、MySQL Utilities 功能及组件

二、mysqldbexport 数据导出

2.1. 参数选项?

三、mysqldbimport 数据导入

3.1. 参数选项

四、mysqldbcompare?数据库库级别比较


?

前言

今天主要介绍 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. 参数选项?

bd4c10b4bd744ea38e6e786b20fb008c.png5b54c1e38d2c44239a9ef8df2247073a.png

三、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. 参数选项

25218d0a9bfb4bbbbfd73bb90b103999.png1cfa0618254f4428a49210760880455c.png

四、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

19646ed6f4e24260899143da9b0d7b7e.png

  • PASS 测试成功
  • FAIL 测试失败
  • SKIP 缺少或跳过测试
  • WARN 测试时出现不寻常的但不是错误
  • 测试不适用与该对象

?

?

文章来源:https://blog.csdn.net/yip1228/article/details/135704416
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。