【MySQL 流浪之旅】 第一讲 MySQL 安装
【MySQL 流浪之旅】 第二讲 MySQL 基础操作
目录
系列文章目录
前言
一、MySQL Utilities 功能及组件
二、mysqldbexport 数据导出
2.1. 参数选项
三、mysqldbimport 数据导入
3.1. 参数选项
四、mysqldbcompare 数据库库级别比较
今天主要介绍 MySQL Utilities 工具集。
MySQL Utilities是一系列使用Python2.6实现的命令行工具,便于维护和管理MySQL服务器。该工具集提供了MySQL数据库运维工程中常用的一些工具,诸如克隆、复制、比较、导出、导入、安装、配置、索引、磁盘查看等功能。
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是一个能以特定的格式进行导出的备份工具,能从一个或多个数据库导出对象定义的元数据和数据。
导出格式:
--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
mysqldbimport的功能是将通过mysqldbexport导出的数据导入到数据库中。
导入格式:
--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
mysqldbcompare工具可以用于比较两个数据库对象以及数据的不同。
检测内容:数据库定义、表、视图、触发器、存储过程、函数、时间、表的数据行数和表数据的一致性。
参数说明:
--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