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: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

MySQL utilities介绍&出现 No module named utilities的更多相关文章

  1. python 开发技巧(3)-- 连接mysql 出现错误 ModuleNotFoundError: No module named 'MySQLdb'

    python3中使用mysql报错ModuleNotFoundError: No module named 'MySQLdb' 原因是:在python2.x中用mysqldb,但是在python3.x ...

  2. python3+Flask 链接MySQL 时,提示“No module named MYSQLdb”

    python3+flask 链接Mysql时提示“No module named MYSQLdb” 解决: pip install mysqlclient

  3. 【python+mysql】在python中调用mysql出问题 ImportError: No module named MySQLdb.constants

    遇到如下异常: File "C:\Users\Neil\PycharmProjects\ScrapyDouban\book\book\database.py", line 4, i ...

  4. 全网最详细的跑python2.7时出现from mysql import connector ImportError: No module named mysql的问题解决办法(图文详解)

    不多说,直接上干货! C:\Users\lenovo>pip install mysql-connector-python-rf== Collecting mysql-connector-pyt ...

  5. Centos7 执行firewall-cmd –permanent –add-service=mysql报错“ModuleNotFoundError: No module named 'gi'”

    因为目前环境Python3.x与Python2.x版本并存,所以导致以上问题. 解决方法: 第一步,vim  /usr/bin/firewall-cmd, 将#!/usr/bin/python -Es ...

  6. falsk-sqlalchemy 连接数据库出现 No module named 'MySQLdb'

    安装pymysql:pip install pymysql 按照 Flask-SQLAlchemy 文档的说明,配置好 SQLALCHEMY_DATABASE_URI = 'mysql://usern ...

  7. MySQL管理工具MySQL Utilities — 介绍与安装(1)

    MySQL Utilities介绍 MySQL Utilities 提供一组命令行工具用于维护和管理 MySQL 服务器,包括: 管理工具 (克隆.复制.比较.差异.导出.导入) 复制工具 (安装.配 ...

  8. django连接mysql数据库配置,出现no module named mysqldb报错

    作为一个菜鸟运维也是要有梦想的,万一学会了python走向人生巅峰了呢.好吧,都是瞎想,今天主要介绍下django配置,最近也开始摸索这个牛b框架了,当然大佬肯定不屑一顾,都是照顾照顾我们这些菜鸟初学 ...

  9. 在用python操作mysql时报错:ModuleNotFoundError: No module named 'MySQLdb'

    用Flask+python+mysql写一个小项目 系统 win10 py版本:3.6.1 在配置数据库时报错ModuleNotFoundError: No module named 'MySQLdb ...

随机推荐

  1. 通用Mapper

    原理是:拦截器 1.假设:使用MyBatis只需要定义Mapper接口,无需编写Mapper.xml文件 如果实现无需编写Mapper.xml文件,我们必须要实现动态拼接SQL 如何实现动态拼接SQL ...

  2. 【转】Centos7下Yum安装PHP5.5,5.6,7.0

    默认的版本太低了,手动安装有一些麻烦,想采用Yum安装的可以使用下面的方案: 1.检查当前安装的PHP包 yum list installed | grep php 如果有安装的PHP包,先删除他们 ...

  3. Eclipse的SVN插件使用

    1       eclipse的SVN插件使用 1.1     svn插件安装 下载Subversion的eclipse插件 http://subclipse.tigris.org/servlets/ ...

  4. Interrouter Signals

    summary of traditional NoC interrouter signals summary of SMART interrouter signals flit_valid and f ...

  5. C++STL stack

    stack栈 先进后出 stack<int> s ; s.push();//元素入栈 //出栈 while(!s.empty()){ int tmp = s.top(); s.pop(); ...

  6. ubuntu开启root登陆

    1.安装openssh-server 在终端中输入: sudo apt-get install openssh-server 2.启动 service ssh start 3.查看查看ssh服务是否启 ...

  7. 第23章:MongoDB-聚合操作--聚合命令

    ①count() 范例:统计students表中的数据量 db.students.count(); 范例:模糊查询 db.students.count("name":/张/i); ...

  8. 学以致用一 安装centos7.2虚拟机

    5说来惭愧,也是很久没来博客园了.距离上次写的已经快一年,只能说时间过的真的很快. 而如果这一年一直在坚持认真学习的话,收获肯定很多.然而我确又浪费了很多光阴,不得不恨这人生苦短. 在这一年里,小孩还 ...

  9. what is a resolver

    resolver [rɪ'zɒlvə] 解析器 ViewResolver The ViewResolver provides a mapping between view names and actu ...

  10. java的静态内部类

    只是一个简单的记录.因为一直排斥java这个东西.java跟c++比是很不错的一个语言,至少内存管理这么麻烦的东西不用操心了.但是和不断崛起的脚本语言比起来,效率差的太多.无论如何做android还是 ...