zoukankan      html  css  js  c++  java
  • mysql主从复制

    版本mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

    原理:主从复制涉及三个线程,主库dump_log线程负责把主库的bin.log的文件名跟位置点跟文件发给从库,从库I/O线程把主库的bin.log文件名跟位置点记录在从库的master.info里面,并且把获取到的文件改成replay.bin.log文件,从库的SQL线程把replay.bin.log文件翻译成sql语句,执行,并把目前为止执行过的replay.bin.log文件名跟位置点保存在replay.info里面

    步骤:1,主库先开启log-bin功能并修改server-id的值确保在局域网内唯一(/etc/my.cnf/mysqld)生成日志

               2,主库授权用户复制权限,让从库能够来主库获取日志,GRANT REPLICATION SLAVE ON *.* to 'rep1'@'192.168.8.11' identified by 'test123456' 注意,@后面是否可以改成网段或者%有待验证

               3,使用mysqldump -u -p -B 数据库名称 --master-data=1 --events > *.sql 注意:-B是导入数据库时不用先建库,--master-data=1是当备份数据库时进行短暂锁库,并记录下来change master to的数值,方便从库执行change master to时不用指定主库binlog日志的名称跟位置点,因为加了这个参数后,导出的备份数据里面已加有日志名称跟位置点,还有导出备份时最好不要把mysql默认的库也导出来(试过导出并导入从库中,从库的主从复制状态一直不对,后面没导出默认数据库就成功了),况且当没有指定只同步指定数据库时,默认会同步所有数据库。

               4,拷贝备份文件到从库并导入文件scp -P端口 文件 用户@从库IP:/目录      mysql -u -p < *.sql

               5,进入从库执行change master to语句 CHANGE MASTER TO MASTER_HOST='172.16.2.10', MASTER_PORT=3306, MASTER_USER='rep', MASTER_PASSWORD='oldboy123';

               6,检查从库状态 show slave statusG;当Slave_IO_Running: Yes   Slave_SQL_Running: Yes两个yes后即成功

    生产环境下一般不会同步一些库不同步一些库,只会在同步时忽略一些表:

    binlog-do-db:要同步的数据库名

    还可以显示 设置不同步的数据库:

    binlog-ignore-db = mysql 不同步mysql库和test库
    binlog-ignore-db = test

    错误排查:MySQL同步故障:" Slave_SQL_Running:No" 两种解决办法  https://blog.csdn.net/heng_ji/article/details/51013710

    mysql错误代码表:https://www.cnblogs.com/JimCalark/p/7808575.html

    忽略从库同步数据时错误代码 slave_skip_errors = 1007,1062,1032(/etc/my.cnf/mysqld)

     从库开启bin-log分两种情况:

    a,从库做其他服务器的主库(即级联)

    b,从库做备份服务器

    开启方法:在my.cnf下面的mysqld模块下增加log-slave-updates  expire_logs_days=7(删除七天前的log日志)

              

  • 相关阅读:
    Android 按键消息处理Android 按键消息处理
    objcopy
    SQLite多线程读写实践及常见问题总结
    android动画坐标定义
    Android动画效果translate、scale、alpha、rotate
    Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类)
    Flatten Binary Tree to Linked List
    Distinct Subsequences
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/allmdzz/p/10436161.html
Copyright © 2011-2022 走看看