mysql 主从同步出现问题

昨天排查mysql数据库主从同步的错误,查看mysql日志时发现无法导出日志。

报错内容:    mysqlbinlog: unknown variable 'default-character-set=utf8'

 

解决方法 :   mysqlbinlog --no-defaults  -v  --stop-position=88888888  master-bin.000221 > ./mysql_tmp.log

                                             无默认值                   设置结束位置                                              输出到指定文件

 

使用 AWK 命令: 

找出出错的文件行号:

     user@linux:~# cat mysql_tmp.log | awk '/end_log_pos 7307725/ {print NR}'
     93049
                          

选择行号附近的数值:     cat mysql_tmp.log | awk 'NR==92900,NR==93100'

  注: NR =  行号,需要设置在报错行数前后!设置其前后N行,找出其对应的sql语句

 

验证报错导致的SQL语句, 在从库执行该语句,使主从数据正常。

可直接查找出错误SQL数据

 mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS master-bin.000445 | grep -A '10' 166900259

 

清理数据库主从日志:
    首先需要保证在主数据库服务器在无更改的情况下才可以进行操作,否则容易漏掉数据。
    先停止从库,清理从库
        stop slave;
        reset slave all;
    清理主库
        reset master;
    查看主库状态
        show master status;
    设置从库同步位置
        change master to master_host='IP地址', master_port= mysql_port, master_user='mysql_user', master_password='mysql_passwd',  master_log_file='master-bin.000001', master_log_pos=107;
    启动从库同步
        start slave;
    查看从库状态是否正常
        show slave status\G;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值