[toc] mysql utilities 是python編寫 MySQL官方版的命令行工具集,涵蓋主從校驗,主從建立,主從切換等等 安裝 rpm安裝 註意 儘量不要通過yum來安裝mysql utilities,mysql utilities 1.6.5和mysql connector pytho ...
目錄
mysql-utilities 是python編寫 MySQL官方版的命令行工具集,涵蓋主從校驗,主從建立,主從切換等等
安裝
rpm安裝
註意 儘量不要通過yum來安裝mysql-utilities,mysql-utilities 1.6.5和mysql-connector-python 8.0.12在一起有問題!
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
二進位安裝
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找不到
解決
卸載原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 高版本的不相容低版本的,這是個坑-__-
mysqlreplicate
主從複製工具
mysqlreplicate --master=admin:[email protected]:3307 \
--slave=admin:[email protected]:3307 --rpl-user=rpl:rpl
--pedantic選項來確保主和從複製成功,當且僅當兩個伺服器具有相同的存儲引擎,相同的預設存儲引擎和相同的InnoDB存儲引擎
mysqlrplcheck
主從複製檢測工具
mysqlrplcheck --master=admin:[email protected]:3307 \
--slave=admin:[email protected]:3307 \
--show-slave-status -vv
mysqlrplshow
主從複製拓撲圖工具
mysqlrplshow --master=admin:[email protected]:3307 \
--discover-slaves-login=admin:admin --verbose --recurse
mysqlrpladmin
主從複製管理工具
mysqlrpladmin --master=admin:[email protected]:3307 \
--slave=admin:[email protected]:3307 Health
mysqlrpladmin --master=admin:[email protected]:3307 \
--slave=admin:[email protected]:3307 gtid
mysqlrpladmin --master=admin:[email protected]:3307 \
--slave=admin:[email protected]:3307 reset
mysqlrpladmin -vv --master=admin:[email protected]:3307 \
--slave=admin:[email protected]:3307 \
--new-master=admin:[email protected]:3307 --demote-master switchover
mysqlrpladmin -vv --slave=admin:[email protected]: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:[email protected]:3307 --discover-slaves-login=admin --candidates=admin:[email protected]:3307
mysqldbcompare
資料庫庫級別比較工具
mysqldbcompare --server1=admin:[email protected]:3307 --server2=admin:[email protected]: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