温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用Xtarbakcup实现mysql主从同步详细步骤

发布时间:2020-05-28 17:08:40 来源:网络 阅读:225 作者:三月 栏目:MySQL数据库

下面一起来了解下使用Xtarbakcup实现mysql主从同步详细步骤,相信大家看完肯定会受益匪浅,文字在精不在多,希望使用Xtarbakcup实现mysql主从同步详细步骤这篇短内容是你想要的。

一、环境描述

本次同步-mysql环境暂时不统一,(后续会升级,建议先保持统一性)
使用Xtarbakcup实现mysql主从同步详细步骤

二、调整主从节点serverID

(master开启binlog——slave关闭binlog)

[root@backup ~]# cat /etc/my.cnf|egrep "data|server"
#注意:主从状态会跟进serverID去判定,所有主的必定最小

使用Xtarbakcup实现mysql主从同步详细步骤

三、Master上使用xtrabackup做全库备份

innobackupex --user=root --password=mysqlpassword --socket=/data/mysqldata/mysql.sock  --defaults-file=/etc/my.cnf /tmp/

四、为了保证备份集中的数据一致

 需要操作:同步应用日志

     innobackupex --apply-log /data/backup/innobackupex/2014-07-31_11-20-44

五、Master创建同步账号并授权REPLICATION

    GRANT REPLICATION SLAVE ON *.* TO repl@'192.168.106.%' IDENTIFIED BY 'password';

六、在Slave上测试,看看能否使用repl用户登录Master云服务器

mysql -h292.168.223.132 -urepl -ppassword

七、将Master的全备scp到Slave主机上

scp -r ./2014-07-31_11-20-44 192.168.223.133:/data/backup
#先备份数据目录下的数据,方便恢复

八、:查看binlog位置点

[root@ds1 tmp]# cat /tmp/2017-12-29_12-33-01/xtrabackup_binlog_info 
mysql-bin.000460    82773878

九、将备份恢复到slave

innobackupex --user=root --password=password --apply-log  /tmp/2017-12-27_14-36-43
innobackupex --user=root --password=password --socket=/tmp/mysql.sock --defaults-file=/etc/my.cnf --copy-back /tmp/

十、从新授权

chown -R mysql.mysql var/  
##var是mysql data目录

十一、启动Slave数据库

[root@backup mysql]# /etc/init.d/mysql start
Starting MySQL..                                           [  OK  ]

十二、在slave上执行change master设置主云服务器复制信息

查看上面binlog位置
change master to master_host='10.27.82.*', master_user='repl', master_password='replpassword',master_port=3306,master_log_file='mysql-bin.000460',master_log_pos=82773878;

十三、在slave上启动复制

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

十四、检查主从复制是否正常

mysql> show slave status\G
使用Xtarbakcup实现mysql主从同步详细步骤

十五、报错处理

1)1146
使用Xtarbakcup实现mysql主从同步详细步骤
处理办法:

[root@backup ~]# cat /etc/my.cnf|egrep "lower_case_table_names"
lower_case_table_names=1

在从云服务器中的my.ini文件中添加一行(表名不区分大小写):lower_case_table_names=1,重启从云服务器就ok了

十六、检查mysql主从同步状态脚本

#!/bin/bash
DATE=`date +%F-%H-%M`
LOG="/root/shell/ckslave/slave.log"
##WeiXin ENV-------------------------------------------------------------------------------------
CropID='微信ID****'
Secret='HxTbS_-rNujfHBAqFt7XMifFKEHQTX_yTNK2ciGob43mHgfc_GJiNW2dwjlitOCS'

APIURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
TOKEN=$(/usr/bin/curl -s -G $APIURL | awk -F\" '{print $10}')
POSTURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$TOKEN"

##WeiXin body--------------------------------------------------------------------------------------
function body() {
        local int AppID=1
        local UserID=用户
        local PartyID=2
        printf '{\n'
        printf '\t"touser": "'"$UserID"\"",\n"
        printf '\t"toparty": "'"$PartyID"\"",\n"
        printf '\t"msgtype": "text",\n'
        printf '\t"agentid": "'"$AppID"\"",\n"
        printf '\t"text": {\n'
        printf '\t\t"content": "'59.110.0.51--"$Msg"\""\n"
        printf '\t},\n'
        printf '\t"safe":"0"\n'
        printf '}\n'
     }

##check status--------------------------------------------------------------------------------------

slave_is=($(mysql -h 127.0.0.1 -uroot -p数据库密码!  -e "show slave status\G"|grep "Slave_.*_Running" |awk '{print $2}'))

if [ "${slave_is[0]}" = "Yes" -a "${slave_is[1]}" = "Yes" ]
     then
     echo "----------------------------------"
     echo "OK,从库状态运行正常..."
     echo "$DATE  OK,从库状态运行正常..." >>$LOG
     echo "----------------------------------"
     exit 0
else
     echo "----------------------------------"
     echo "Fail,从库状态运行不正常,请登录检查!!!"
     echo "$DATE Fail,从库状态运行不正常,请登录检查!!!" >>$LOG
     echo "----------------------------------"
     Msg="Fail,从库状态运行不正常,请登录检查!!!"
      echo  "$(body guozhiheng0123 $2 )" $POSTURL
      /usr/bin/curl --data-ascii "$(body guozhiheng0123 $2)" $POSTURL
     exit 2

fi

看完使用Xtarbakcup实现mysql主从同步详细步骤这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI