MySQL 官方工具utilities介紹&出現 No module named utilities

mysql-utilities 是python編寫 MySQL官方版的命令行工具集,涵蓋主從校驗,主從創建,主從切換等等html

安裝

rpm安裝 注意 儘可能不要經過yum來安裝mysql-utilities,mysql-utilities 1.6.5和mysql-connector-python 8.0.12在一塊兒有問題!python

mysql5.6
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

卸載
yum -y remove mysql-community-release

mysql5.7
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-8.noarch.rpm
yum install  mysql-utilities.noarch

mysql5.7 yum源 還會安裝依賴mysql-connector-python 8.0.12-1.el7 mysql

二進制安裝sql

yum install mysql-connector-python
wget https://cdn.mysql.com/archives/mysql-utilities/mysql-utilities-1.6.5.tar.gz
tar -zxf mysql-utilities-1.6.5.tar.gz
cd mysql-utilities-1.6.5

python ./setup.py build
python ./setup.py install

經過tar.gz安裝和yum安裝mysql-utilities出現錯誤 數據庫

可能模塊沒有在搜索路徑中 服務器

export PYTHONPATH=$PYTHONPATH:/root/mysql-utilities-1.6.5/mysql/utilities/common/tools 試了也不行工具

安裝mysql5.6 yum源以rpm形式安裝的mysql-utilities不會報module找不到sqlserver

解決ui

卸載原mysql-connector-python8.0版本 
yum  -y remove  mysql-connector-python
並下載安裝mysql-connector-python-2.1.7
rpm -Uvh https://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-2.1.7-1.el7.x86_64.rpm

mysqldbcompare --version
MySQL Utilities mysqldbcompare version 1.6.5 
License type: GPLv2

當時還在糾結爲何安裝mysql5.7 yum源在以yum安裝mysql-utilities和以tar.gz形式來安裝mysql-utilites 兩種方式該有的/mysql/utilities/common和tools.py 下的check_python_version都有了,而安裝mysql5.6 yum源不報錯,查看 mysql-connector-python版本時才發現二者的版本不同,在MySQL中 mysql-co nnector-python 8.0.12-1.el7 高版本的不兼容低版本的,這是個坑-__-spa

mysqlreplicate

主從複製工具

mysqlreplicate --master=admin:admin@10.186.30.73:3307 \
          --slave=admin:admin@10.186.30.58:3307 --rpl-user=rpl:rpl

--pedantic選項來確保主和從複製成功,當且僅當兩個服務器具備相同的存儲引擎,相同的默認存儲引擎和相同的InnoDB存儲引擎

mysqlrplcheck

主從複製檢測工具

mysqlrplcheck --master=admin:admin@10.186.30.73:3307 \
          --slave=admin:admin@10.186.30.58:3307 \
           --show-slave-status -vv

mysqlrplshow

主從複製拓撲圖工具

mysqlrplshow --master=admin:admin@10.186.30.73:3307    \
	    --discover-slaves-login=admin:admin --verbose --recurse

mysqlrpladmin

主從複製管理工具

mysqlrpladmin --master=admin:admin@10.186.30.73:3307 \
          --slave=admin:admin@10.186.30.58:3307 Health

mysqlrpladmin --master=admin:admin@10.186.30.73:3307 \
          --slave=admin:admin@10.186.30.58:3307 gtid
          
mysqlrpladmin --master=admin:admin@10.186.30.73:3307 \
		 --slave=admin:admin@10.186.30.58:3307 reset

mysqlrpladmin -vv --master=admin:admin@10.186.30.73:3307 \
		 --slave=admin:admin@10.186.30.58:3307  \
		 --new-master=admin:admin@10.186.30.58:3307 --demote-master switchover

mysqlrpladmin -vv --slave=admin:admin@10.186.30.58:3307 failover

mysqlrpladmin 1.3.6對mysql5.7 會出現錯誤
# Checking privileges.
ERROR: Query failed. 1054 (42S22): Unknown column 'password' in 'field list'

mysqlfailover

主從切換工具

mysqlfailover --master=admin:admin@10.186.30.73:3307 --discover-slaves-login=admin --candidates=admin:admin@10.186.30.58:3307

mysqldbcompare

數據庫庫級別比較工具

mysqldbcompare --server1=admin:admin@10.186.30.73:3307 --server2=admin:admin@10.186.30.58:3307 --changes-for=server2 --difftype=sql --run-all-tests test

詳細介紹

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     審計日誌過濾工具

參考:

https://dev.mysql.com/doc/workbench/en/wb-mysql-utilities.html

MySQL Utilities工具包概述及安裝

Mysql Utilities

相關文章
相關標籤/搜索