linux中mysql主从备份

2019-12-02 18:42 来源:未知

目录

在centos中设置mysql详细步骤表达

典型化:供给四个设想机,生机勃勃台为主服务器master,风流罗曼蒂克台为从劳动器slave

  • 安装
  • mysqlreplicate
  • mysqlrplcheck
  • mysqlrplshow
  • mysqlrpladmin
  • mysqlfailover
  • mysqldbcompare
  • 详细介绍

1     在master主服务中,成立用于同盟的顾客

mysql> grant all privileges on *.* to 'rpl'@'192.168.178.162' identified by '123456' with grant option;
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


2     在slave中,安装自动备份工具

上传文件

图片 1

[root@node002 ~]# rpm -ivh mysql-connector-python-2.1.6-1.el6.x86_64.rpm
warning: mysql-connector-python-2.1.6-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [100%]
1:mysql-connector-python ########################################### [100%]
[root@node002 ~]# rpm -ivh mysql-utilities-1.6.5-1.el6.noarch.rpm
warning: mysql-utilities-1.6.5-1.el6.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ########################################### [100%]
1:mysql-utilities ########################################### [100%]


3    修改slave中的server-id、uuid

[root@node002 ~]# vi /etc/my.cnf

提出利用IP地址最终壹人,方便识别回忆

图片 2

mysql-utilities 是python编写 MySQL官方版的一声令下行工具集,包括主从校验,主从创立,主从切换等等

uuid(保障中央服务器里面uuid差别等)

[root@node002 ~]# vi /var/lib/mysql/auto.cnf 

图片 3

图片 4

安装

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
图片 5

二进制安装

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现身错误
图片 6
图片 7

可能模块未有在搜寻路线中
图片 8

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 高版本的不相称低版本的,那是个坑-__-

4     实行主从协同命令

mysqlreplicate

主从复制工具

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

--pedantic选项来确认保证主和从复制作而成功,当且仅当多个服务器材有相仿的蕴藏引擎,雷同的暗许存款和储蓄引擎和意气风发致的InnoDB存款和储蓄引擎

[root@node002 ~]# mysqlreplicate     --master=root:mysql@192.168.178.161:3306      --slave=root:mysql@192.168.178.162:3306   --rpl-user=rpl:123456

mysqlrplcheck

主从复制检验工具

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

5、   测试

在master中执行sql语句

在slave中询问,即便master实践的sql语句,能够slave中展现,代表生龙活虎道成功。

 

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     审计日志过滤工具

参考:

MySQL Utilities工具包概述及安装

Mysql Utilities

TAG标签:
版权声明:本文由金沙澳门唯一官网发布于数据库管理,转载请注明出处:linux中mysql主从备份