zoukankan      html  css  js  c++  java
  • MySQL 官方工具utilities介绍&出现 No module named utilities



    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

  • 相关阅读:
    git clone time out
    Window版本的nvm下载安装以及配置
    jdk安装目录查询
    idea 快捷键
    faac简介、编译、使用
    socket编程实例TCP
    jsoncpp简介、下载、编译、使用
    时间时区概念及常用时间函数
    开启博客之旅
    找回了用户名和密码
  • 原文地址:https://www.cnblogs.com/YangJiaXin/p/9484029.html
Copyright © 2011-2022 走看看