使用Xtarbakcup实现mysql主从同步详细步骤-创新互联
下面一起来了解下使用Xtarbakcup实现mysql主从同步详细步骤,相信大家看完肯定会受益匪浅,文字在精不在多,希望使用Xtarbakcup实现mysql主从同步详细步骤这篇短内容是你想要的。
“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 创新互联建站是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于做网站、成都做网站、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!一、环境描述
本次同步-mysql环境暂时不统一,(后续会升级,建议先保持统一性)
二、调整主从节点serverID
(master开启binlog——slave关闭binlog)
[root@backup ~]# cat /etc/my.cnf|egrep "data|server" #注意:主从状态会跟进serverID去判定,所有主的必定最小
三、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
十五、报错处理
1)1146
处理办法:
[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 2fi
看完使用Xtarbakcup实现mysql主从同步详细步骤这篇文章后,很多读者朋友肯定会想要了解更多的相关内容,如需获取更多的行业信息,可以关注我们的行业资讯栏目。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:使用Xtarbakcup实现mysql主从同步详细步骤-创新互联
文章分享:http://cdiso.cn/article/djghjc.html