mysql-utilities 管理工具集的使用

  • 2019 年 10 月 4 日
  • 筆記

mysql-utilities 管理工具集的使用:

更詳細的參數 ,參照官方文檔: https://dev.mysql.com/doc/mysql-utilities/

直接去MySQL官網下載rpm包安裝即可。如果安裝過程中提示mysql-connector-python版本過低,則到mysql官網去下載個最新的包裝上即可。

       社區版用不到或者不常用的功能,筆記這裡就不列出來了。

mysqldbcopy   克隆整個庫

例:mysqldbcopy –source=root:'123456'@localhost:3306:/tmp/mysql.sock –destination=root:'123456'@localhost:3306:/tmp/mysql.sock db:db_clone

mysqldiskusage 統計表空間、各種日誌文件佔用的體積

例:mysqldiskusage –server=root:'123456'@localhost:3306:/tmp/mysql.sock  –all -v

mysqlfrm   在故障的時候根據frm提取某個表結構 (不包括外鍵約束、自增長序列編號)

例: mysqlfrm –basedir=/usr/local/mysql /data/hellodb/classes.frm –port=3310 –user=root  # 注意這個埠是隨便起的

mysqlindexcheck  找出某個庫下的冗餘索引

例:mysqlindexcheck –server=root:'123456'@localhost:3306:/tmp/mysql.sock grafana -f vertical -r -d –stats 

mysqlprocgrep  找出符合某些條件的用戶連接

參數:

   -G, --basic-regexp, --regexp                           use 'REGEXP' operator to match pattern. Default is to                           use 'LIKE'.     -Q, --print-sql, --sql                           print the statement instead of sending it to the                           server. If a kill option is submitted, a procedure                           will be generated containing the code for executing                           the kill.     --sql-body            only print the body of the procedure.     --kill-connection     kill all matching connections.     --kill-query          kill query for all matching processes.     --print               print all matching processes.     -f FORMAT, --format=FORMAT                           display the output in either grid (default), tab, csv,                           or vertical format     -v, --verbose         control how much information is displayed. e.g., -v =                           verbose, -vv = more verbose, -vvv = debug     --match-id=PATTERN    match the 'ID' column of the PROCESSLIST table.     --match-user=PATTERN  match the 'USER' column of the PROCESSLIST table.     --match-host=PATTERN  match the 'HOST' column of the PROCESSLIST table.     --match-db=PATTERN    match the 'DB' column of the PROCESSLIST table.     --match-command=PATTERN                           match the 'COMMAND' column of the PROCESSLIST table.     --match-info=PATTERN  match the 'INFO' column of the PROCESSLIST table.     --match-state=PATTERN                           match the 'STATE' column of the PROCESSLIST table.     --age=AGE             show only processes that have been in the current                           state more than a given time.  			例:# kill掉sleep狀態,且處於sleep超過90秒的用戶連接:   mysqlprocgrep  --server=root:'123456'@localhost:3306:/tmp/mysql.sock -f vertical --match-command='Sleep' --age=90s --kill-connection

mysqlrpladmin

關於這個工具,可以參考蘭春大神的博文 https://yq.aliyun.com/articles/59234#

mysqlserverinfo   列出資料庫的明細情況(-d 顯示各個default值, –format=vertical 列式顯示)

例:mysqlserverinfo –server=root:'123456'@localhost:3306:/tmp/mysql.sock   -d –format=vertical

mysqlbinlogpurge   清理過期的binlog文件

例:mysqlbinlogpurge –server=root:'123456'@localhost:3306:/tmp/mysql.sock