小兔网

MySQL Utilities 是一组基于Python语言编写的python库的命令行实用工具集,依赖于python 2.6。该工具提供了MySQL数据库运维工程中常用的一些工具,诸如克隆、复制、比较、差异、导出、导入、安装、配置、索引、磁盘查看等等。有了这个工具包,就好比那些个神医大夫,不管大病小病,先去搞个化验,搞个CT,你也可以当华佗。MySQL Utilities提供了各种平台的软件包,如果没有找到对应自己平台的包,可以通过源码进行编译安装。本文主要描述MySQL Utilities安装以及各个工作功能初步描述。

一、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     审计日志过滤工具

二、安装需求及下载地址

知识兔
    需求            Python 2.6            MySQL Connector/Python 连接器    下载地址:            http://www.zhishitu.com/

三、安装示例

知识兔
###本次安装使用1.6.4版本,安装前,需要先安装mysql到python连接器# cat /etc/redhat-release CentOS release 6.7 (Final)# rpm -Uvh mysql-connector-python-2.1.4-1.el6.x86_64.rpm # rpm -Uvh mysql-utilities-1.6.4-1.el6.noarch.rpm ###如果没有安装连接器,则收到如下错误提示# rpm -Uvh mysql-utilities-1.6.4-1.el6.noarch.rpm warning: mysql-utilities-1.6.4-1.el6.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEYerror: Failed dependencies:        mysql-connector-python >= 2.0.0 is needed by mysql-utilities-1.6.4-1.el6.noarch###查看安装后生成的文件                # rpm -ql mysql-utilities-1.6.4-1.el6|grep "/usr/bin"/usr/bin/mysqlauditadmin/usr/bin/mysqlauditgrep/usr/bin/mysqlbinlogmove/usr/bin/mysqlbinlogpurge/usr/bin/mysqlbinlogrotate/usr/bin/mysqldbcompare/usr/bin/mysqldbcopy/usr/bin/mysqldbexport/usr/bin/mysqldbimport/usr/bin/mysqldiff/usr/bin/mysqldiskusage/usr/bin/mysqlfailover/usr/bin/mysqlfrm/usr/bin/mysqlgrants/usr/bin/mysqlindexcheck/usr/bin/mysqlmetagrep/usr/bin/mysqlprocgrep/usr/bin/mysqlreplicate/usr/bin/mysqlrpladmin/usr/bin/mysqlrplcheck/usr/bin/mysqlrplms/usr/bin/mysqlrplshow/usr/bin/mysqlrplsync/usr/bin/mysqlserverclone/usr/bin/mysqlserverinfo/usr/bin/mysqlslavetrx/usr/bin/mysqluc/usr/bin/mysqluserclone

四、获取帮助

知识兔

1、通过mysqluc获取帮助###可以通过调用mysqluc命令行工具来获取这些工具的帮助信息### mysqluc提供一个自带的命令行提示符窗口,
在这个窗口下也可以完成相应的命令操作[root@node1 ~]# mysqlucLaunching console ...

Welcome to the MySQL Utilities Client (mysqluc) version 1.6.4Copyright (c) 2010, 2016 Oracle and/or its affiliates. All rights reserved.This is a release of dual licensed MySQL Utilities. For the avoidance ofdoubt, this particular copy of the software is releasedunder the version 2 of the GNU General Public License.MySQL Utilities is brought to you by Oracle.Type 'help' for a list of commands or press TAB twice for list of utilities.mysqluc> helpCommand                 Description                                        ----------------------  ---------------------------------------------------help utilities          Display list of all utilities supported.           help <utility>          Display help for a specific utility.               show errors             Display errors captured during the execution of the                        utilities.                                         clear errors            clear captured errors.                             show last error         Display the last error captured during the                                 execution of the utilities                         help | help commands    Show this list.                                    exit | quit             Exit the console.                                  set <variable>=<value>  Store a variable for recall in commands.           show options            Display list of options specified by the user on                           launch.                                            show variables          Display list of variables.                         <ENTER>                 Press ENTER to execute command.                    <ESCAPE>                Press ESCAPE to clear the command entry.           <DOWN>                  Press DOWN to retrieve the previous command.       <UP>                    Press UP to retrieve the next command in history.  <TAB>                   Press TAB for type completion of utility, option,                          or variable names.                                 <TAB><TAB>              Press TAB twice for list of matching type                                  completion (context sensitive).                    ###查看utilities包中所有的命令行工具mysqluc> help utilities Utility            Description                                             -----------------  --------------------------------------------------------mysqlauditadmin    audit log maintenance utility                           mysqlauditgrep     audit log search utility                                mysqlbinlogmove    binary log relocate utility                             mysqlbinlogpurge   purges unnecessary binary log files                     mysqlbinlogrotate  rotates the active binary log file                      mysqldbcompare     compare databases for consistency                       mysqldbcopy        copy databases from one server to another               mysqldbexport      export metadata and data from databases                 mysqldbimport      import metadata and data from files                     mysqldiff          compare object definitions among objects where the                         difference is how db1.obj1 differs from db2.obj2        mysqldiskusage     show disk usage for databases                           mysqlfailover      automatic replication health monitoring and failover    mysqlfrm           show CREATE TABLE from .frm files                       mysqlgrants        display grants per object                               mysqlindexcheck    check for duplicate or redundant indexes                mysqlmetagrep      search metadata                                         mysqlprocgrep      search process information                              mysqlreplicate     establish replication with a master                     mysqlrpladmin      administration utility for MySQL replication            mysqlrplcheck      check replication                                       mysqlrplms         establish multi-source replication                      mysqlrplshow       show slaves attached to a master                        mysqlrplsync       replication synchronization checker utility             mysqlserverclone   start another instance of a running server              mysqlserverinfo    show server information                                 mysqlslavetrx      skip transactions on slaves                             mysqluserclone     clone a MySQL user account to one or more new users     ###也可直接在mysqluc提示符下输入 help command 来获取对应命令的帮助信息,如下mysqluc> help mysqlauditadmin Usage: mysqlauditadmin --server=user:pass@host:port --show-options # Author : Leshami# Blog   : http://www.zhishitu.com/mysqlauditadmin - audit log maintenance utility Options:Option                     Description                                     -------------------------  --------------------------------------------------version                  show program's version number and exit          --help                     display this help message and exit              --license                  display program's license and exit              --server=SERVER            connection information for the server in the                               form:                                                                      <user>[:<password>]@<host>[:<port>][:<socket>]                             or <login-path>[:<port>][:<socket>] or <config-                            path>[<[group]>].                               --audit-log-name=LOG_NAME  full path and file name for the audit log file.                            Used for stats and copy options.                --show-options             display the audit log system variables.         --remote-login=RLOGIN      user name and host to be used for remote login                             for copying log files. Format:                                             <user>:<host_or_ip> Password will be prompted.  --file-stats               display the audit log file statistics.          --copy-to=COPY_LOCATION    the location to copy the audit log file                                    specified. The path must be locally accessible                             for the current user.                           --value=VALUE              value used to set variables based on the command                           specified. See --help for list per command.                                --ssl-ca=SSL_CA            path to a file that contains a list of trusted                             SSL CAs.                                        --ssl-cert=SSL_CERT        name of the SSL certificate file to use for                                establishing a secure connection.               --ssl-key=SSL_KEY          name of the SSL key file to use for establishing                           a secure connection.                            --ssl=SSL                  specifies if the server connection requires use                            of SSL. If an encrypted connection cannot be                               established, the connection attempt fails. By                              default 0 (SSL not required).                   -v, --verbose              control how much information is displayed. e.g.,                           -v = verbose, -vv = more verbose, -vvv = debug                             Available Commands: copy - copy the audit log to                           a locally accessible path policy - set the audit                                                      log policy Values = ALL, NONE, LOGINS, QUERIES,                            DEFAULT rotate - perform audit log rotation                                rotate_on_size - set the rotate log size limit                             for auto rotation Values = 0, 4294967295                               2、直接在shell提示符下获取命令帮助###如下示例[root@node1 ~]                           # mysqlfailover --help|headMySQL Utilities mysqlfailover version 1.6.4 License type: GPLv2Usage: mysqlfailover --master=root@localhost --discover-slaves-login=root                 --candidates=root@host123:3306,root@host456:3306 mysqlfailover - automatic replication health monitoring and failoverOptions:  --version             show program's version number and exit  --help                display this help message and exit  --license             display program's license and exit 3、基于Linux man获取命令帮助###如下示例root@node1 ~]  # man mysqlfailoverMYSQLFAILOVER(1)                MySQL Utilities               MYSQLFAILOVER(1)NAME       mysqlfailover - Automatic replication master failoverSYNOPSIS       mysqlfailover [options]