1. 程式人生 > >MySQL Utilities工具包概述及安裝

MySQL Utilities工具包概述及安裝

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://dev.mysql.com/downloads/utilities/

三、安裝示例

###本次安裝使用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: NOKEY
error: 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 ~]# mysqluc
Launching console ...

Welcome to the MySQL Utilities Client (mysqluc) version 1.6.4
Copyright (c) 2010, 2016 Oracle and/or its affiliates. All rights reserved.
This is a release of dual licensed MySQL Utilities. For the avoidance of
doubt, this particular copy of the software is released
under 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> help
Command                 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://blog.csdn.net/leshami
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|head
MySQL Utilities mysqlfailover version 1.6.4 
License type: GPLv2
Usage: mysqlfailover --master=root@localhost --discover-slaves-login=root 
                --candidates=root@host123:3306,root@host456:3306 

mysqlfailover - automatic replication health monitoring and failover

Options:
  --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 mysqlfailover
MYSQLFAILOVER(1)                MySQL Utilities               MYSQLFAILOVER(1)

NAME
       mysqlfailover - Automatic replication master failover

SYNOPSIS
       mysqlfailover [options]

DBA牛鵬社(SQL/NOSQL/LINUX)