• Mysql主从同步遇到的一些问题


    为提供更快的访问速度,在不同的地区增加了一台只供访问的从服务器。因此要将主服务器的数据全部备份过去,并且设置主从同步

    假设:
    主服务器IP:192.168.1.10
    从服务器IP:192.168.1.11

    一.主服务器配置

    打开mysql配置文件/etc/my.cnf,增加配置

    log-bin=mysql-bin
    server-id=1 ##主从都需要有,且唯一
    binlog-ignore-db=information_schema ##不写入binlog的库
    binlog-do-db=test ##同步的库

    replicate-wild-do-db replicate-do-db

    保存后重启mysql

    为从服务器授权
    GRANT REPLICATION SLAVE ON . to 'slave'@'192.168.1.11' identified by '123456';
    FLUSH PRIVILIGES;

    查看目前主服务器的binlog
    show master status;
    找到当前写入的binlog文件名mysqk-bin.000010和偏移量103

    导出当前数据库test.sql

    二.从服务器配置

    导入test.sql数据库
    如果是mysql5.5以上,那么不能再配置文件里面配置,在mysql中使用命令:
    slave stop;
    change master to master_host='192.168.1.10',master_user='slave',master_password='123456', master_log_file='mysql-bin.000010',master_log_pos=103;
    slave start;

    查看从服务器
    show slave status;

    如果Slave_IO_Running和Slave_SQl_Runing都是yes的话,就为成功

    三碰到的问题

    连不上主服务器:can't locate hostname for your address
    mysql连接服务器,服务器会获取到你的hostname,如果获取不到会报错
    在主服务器配置文件中加入:skip_name_resolve

    从服务器报错,看到错误原因是insert时主键重复,说明在主服务导出的时候,有新的数据插入进去了,导致pos的值不止为103
    因此,找出这个时差中数据的变更在binlog文件中的偏移量,然后将pos的值修改掉即可

  • 相关阅读:
    查找oracle数据文件、表空间的位置
    select into 给多变量赋值
    关于Union 中 ORA-12704:字符集不匹配问题的解决
    weblogic线程阻塞性能调优(图解)
    window系统无法访问局域网内文件共享的问题
    查看oracle的sql语句历史记录和锁表的情况
    <c:forEach>标签的使用 JSTL
    CAS服务下单点登录(服务端与客户端)
    cas 配置数据源 , 解决CAS 不支持你提供的凭证 .
    信号量通俗释义
  • 原文地址:https://www.cnblogs.com/bencakes/p/6017959.html
Copyright © 2020-2023  润新知