MySQL Utilities工具包概述及安裝
阿新 • • 發佈:2019-02-19
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]