• 数据库主从过程出错


    开始 134出现主从1206错误

    Last_IO_Errno: 1236
     Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from position > file size; the first event 'mysql-bin.000124' at 927763888, the last event read from './mysql-bin.000124' at 4, the last byte read from './mysql-bin.000124' at 4.'
     
    我从网上找的方法
    CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000124', MASTER_LOG_POS=927763888;
    不行,然后我又在主数据库中读取binlog文件
    
    从而用一下命令
    
    CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000124', MASTER_LOG_POS=4;  
    
    才行。这句命令的意思是从mysql-bin.000124的4位置开始执行主从同步。
    但是我这值得这个点,太靠前了,从而引起了一系列的主从问题,让我修改了一下午也没有修改好。在一次修改中,发现进程没反应了,kill也不行 于是我就重启了mysql 发现重启不了
    由此我经历了一次mysql的洗礼
    看日志发现磁盘满了,我就删文件,由于产生了很好mysql-relay-bin.000001文件,眼花了,就把所有的bin-log文件都删了,就更不能启动了,于是又删了mysql-bin.index,才能启动,但是由于原来的bin-log文件都没了,也就不能再继续原来的主从了,只能从现在的位置开始新的主从,相当于重新设置主从  就是在主数据库中执行 show master status G 
    
    然后在从数据库中执行 
    
    CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000124', MASTER_LOG_POS=xxxxxxxx;
    主从启动,由于字符集的原来产生了一些错误,实在是多,跳过好多次,于是就在配置文件、etc/my.cnf中设置slave-skip-errors = 1062跳过主从1062错误   才可以正常主从。但产生的后果是中间修复主从时间内的数据没有同步
    于是要进行主从一致性检查 修复
    
    安装percona-toolkit
    
    
    
    
    
    /usr/local/percona-toolkit-2.2.16/bin/pt-table-checksum --user='root' --password='xxxxxx' --host=192.168.168.xxx --port=3306  --replicate=UserCenter.checksums   --nocheck-replication-
    filters
     
    /usr/local/percona-toolkit-2.2.16/bin/pt-table-sync  --print --replicat=UserCenter.checksums --sync-to-master h=192.168.168.xxx,P=3306,u=root,p=xxxxxx --charset=utf8
     
    /usr/local/percona-toolkit-2.2.16/bin/pt-table-sync  --execute --replicat=UserCenter.checksums --sync-to-master h=192.168.168.xxx,P=3306,u=root,p=xxxxxx --charset=utf8    (从本地到192.168.168.xxx)
     别看我这只有三句命令,但是原来一直报错也设置了半天才设置好
    
    中间报过字符集错误
    
    
    
    Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
    Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
    11-27T14:40:02 DBI connect(';host=192.168.168.xxx;port=3306;mysql_read_default_group=client','root',...) failed: Can't initialize character set utf8mb4 (path: /usr/share/mysql/charsets/) at /usr/local/percona-toolkit-2.2.16/bin/pt-table-checksum line 1581
    在mysql的配置文件中client部分把原来的utf8mb4给注释掉就可以了。
    
    但还是有个别数据没有同步,
    
  • 相关阅读:
    python学习第十五天
    python学习第十三、十四天
    python学习第十二天
    python学习第j十一天
    python学习第十天
    ViewController push的自定义动画
    iOS 判断设备是否越狱
    iOS
    OBJC字面量
    ios8 share Extension 分享扩展
  • 原文地址:https://www.cnblogs.com/cuizhipeng/p/5043018.html
Copyright © 2020-2023  润新知