原文:https://blog.csdn.net/leshami/article/details/52795777 node
MySQL Utilities 是一組基於python語言編寫的python庫的命令行實用工具集,依賴於python 2.6。該工具提供了MySQL數據庫運維工程中經常使用的一些工具,諸如克隆、複製、比較、差別、導出、導入、安裝、配置、索引、磁盤查看等等。有了這個工具包,就比如那些個神醫大夫,無論大病小病,先去搞個化驗,搞個CT,你也能夠當華佗。MySQL Utilities提供了各類平臺的軟件包,若是沒有找到對應本身平臺的包,能夠經過源碼進行編譯安裝。本文主要描述MySQL Utilities安裝以及各個工做功能初步描述。python
1、MySQL Utilities功能及組件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 審計日誌過濾工具
2、安裝需求及下載地址sql
需求
Python 2.6
MySQL Connector/Python 鏈接器
下載地址:
http://dev.mysql.com/downloads/utilities/
3、安裝示例shell
###本次安裝使用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
4、獲取幫助數據庫
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
二、直接在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
三、基於Linux man獲取命令幫助運維
###以下示例 root@node1 ~]# man mysqlfailover MYSQLFAILOVER(1) MySQL Utilities MYSQLFAILOVER(1) NAME mysqlfailover - Automatic replication master failover SYNOPSIS mysqlfailover [options]