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

系列文章目录

【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:[email protected]: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:[email protected]:3306:/tmp/sock/mysql.sock --format=sql test --display=full --export=data -vv --locking=snapshot  --skip-fkey-checks  >  /tmp/output.sql

2.1. 参数选项 

【MySQL 流浪之旅】第三讲 MySQL 基本工具_第1张图片【MySQL 流浪之旅】第三讲 MySQL 基本工具_第2张图片

三、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:[email protected]:3306:/tmp/sock/mysql.sock --format=sql --skip-gtid -vv --import=both --drop-first /tmp/test.sql
---mysqldbimport批量导入
mysqldbimport --server=root:[email protected]:3306:/tmp/sock/mysql.sock --format=sql --skip-gtid -vv --import=both --bulk-insert --drop-first /tmp/test.sql

3.1. 参数选项

【MySQL 流浪之旅】第三讲 MySQL 基本工具_第3张图片【MySQL 流浪之旅】第三讲 MySQL 基本工具_第4张图片

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

【MySQL 流浪之旅】第三讲 MySQL 基本工具_第5张图片

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

 

 

你可能感兴趣的:(流浪运维,mysql,数据库)