简介

MySQL的主从复制(Replication),可以保持两台MySQL数据库的内容一致。因为其同步过程是异步的,所以备份数据库上做任何操作,都不会影响主数据库的性能。对游戏后台数据库而言,这是一个重大的优势:对备份数据库的查询、备份等操作都不会影响游戏的线上运行。配置主从复制有许多教程,但都很繁琐。我根据官方文档,总结出一个简单的配置流程。

配置

  • 线上运行的数据库,称之为Master服务器;备份的数据库,称之为Slave服务器
  • 分别修改两台服务器上的MySQL配置文件/etc/mysql/my.cnf:
    • Master服务器上加入这两行(直接去掉注释即可):

        server-id = 1log_bin = /var/log/mysql/mysql-bin.log
    • 然后重启MySQL:

       service mysql restart
    • Slave服务器加入这一行:

        server-id = 2
    • 然后重启MySQL:

        service mysql restart
  • 把Master数据库备份传给Slave数据库:
    • 方法一:MyISAM格式可以直接拷贝,速度快:

      • 在Master服务器上备份数据库,可以只有指定的数据库,不同步mysql库:

          mkdir /masterdbmysqlhotcopy --resetmaster --flushlog --addtodest --regexp=<数据库匹配正则表达式> /masterdb
      • 如果原来已经设置过slave,现在要恢复数据,那么
        • 先在Slave服务器上mysql中停止slave模式并重置:

            stop slave;reset slave;
        • 然后关闭mysql:

            stop mysql
        • 删除原有同名的数据库。
      • 停止mysql后,把备份的Master数据库目录传到Slave服务器上的mysql目录中,可以用scp命令拷贝:

          scp -r -P <端口> /masterdb/* root@<IP地址>:/Jpcq/MySQL/
      • 拷贝到Slave的文件需要修改owner:

          chown -R mysql:mysql *
      • 修改Slave的my.cnf文件,禁止同步mysql库:

          replicate-ignore-db=mysql
      • 启动mysql:

          start mysql
      • 重新开启slave模式,在mysql中执行:

          change master to master_host='<Master IP地址>', master_user='<用户名>', master_password='<密码>';start slave;
    • 方法二:使用mysqldump,通用,但是慢:

      • 在Master服务器上备份数据库:

          mysqldump --all-databases --master-data >apply_slave.sql
      • 把备份文件dbdump.db传到Slave服务器上,恢复数据库:

          mysql <apply_slave.sql
      • 在Slave服务器上开启slave模式,在mysql中执行:

          change master to master_host='<Master IP地址>', master_user='<用户名>', master_password='<密码>';start slave;

维护

  • Slave显示同步状态:

      show slave status\G;
  • 显示进程列表:

      show processlist\G;
  • Master显示正在同步的Slaves:

      show slave hosts;
  • Master显示最新binlog位置:

      show master status;

MySQL 5.5 - 5.7的改进

  • MySQL 5.5的主从复制是单线程的,性能受限。
  • MySQL 5.6的不同数据库可以并行,单个数据库还是顺序执行的。
  • MySQL 5.7不再受限制,所有Master数据库并行执行的事务,Slave也可以并行执行。
  • MySQL 5.7的Slave还支持从多个Master同步数据库。

转载于:https://www.cnblogs.com/tinyfish/p/5177490.html

MySQL 5.5主从复制(Replication)相关推荐

  1. Maria数据库怎么复制到mysql_maria(mysql)的主从复制

    一.mariadb的基本操作 1.远程连接 mysql -uroot -p -h 127.0.0.1mysql-uroot -p -h 192.168.226.128 2.赋予远程连接的权限 gran ...

  2. 运维工程师必备之MySQL数据的主从复制、半同步复制和主主复制详解

    一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...

  3. mysql主从切换gtid不一致_解决mysql使用GTID主从复制错误问题

    解决mysql使用GTID主从复制错误问题 做MySQL主从的话肯定会遇到很多同步上的问题, 大多数都是由于机器宕机,重启,或者是主键冲突等引起的从服务器停止工作, 这里专门收集类似问题并提供整理解决 ...

  4. mysql 集群 主从复制

    1.binlog日志,如果是多个数据库,binlog日志是不是也是分为多个日志? 2.binlog日志存储的路径在哪里? 3.常用的binlog模式,大家都是使用哪种? 1.statement lev ...

  5. 如何在MySQL中设置主从复制

    原作者:Etel Sverdlov 转载&翻译:https://www.digitalocean.com/community/tutorials/how-to-set-up-master-sl ...

  6. 高可用Mysql架构_Mysql主从复制、Mysql双主热备、Mysql双主双从、Mysql读写分离(Mycat中间件)、Mysql分库分表架构(Mycat中间件)的演变...

    [Mysql主从复制] 解决的问题 数据分布:比如一共150台机器,分别往电信.网通.移动各放50台,这样无论在哪个网络访问都很快.其次按照地域,比如国内国外,北方南方,这样地域性访问解决了. 负载均 ...

  7. Linux MySQL主主复制(Replication)(MySQL数据双向同步)配置

    http://www.centos.bz/2011/07/linux-mysql-replication-two-way-sync/#配置当前从服务器 Linux MySQL主主复制(Replicat ...

  8. 红帽企业linux 6.4 64位上实现mysql 5.6主从复制_红帽企业Linux 6.4 64位上实现MySQL 5.6主从复制...

    ssl加密复制实现 ssl加密复制是生产环境中对数据安全性的一个保障,配置过程也比较简单,之前在前面的文章中都有对ssl加密实现有详细介绍这里就不再过多赘述了 准备私有CA # mkdir ca # ...

  9. 菜鸟学Linux 第095篇笔记 MySQL 5.6主从复制

    菜鸟学Linux 第095篇笔记 MySQL 5.6主从复制 内容总览 主从服务器复制过滤 MySQL 5.6 简单主从模式配置步骤 mysql-proxy 主从服务器复制过滤 主服务器配置 基于数据 ...

  10. centos mysql5.7主从同步配置_centos 7 配置 mysql 5.7 主从复制

    centos 7 配置 mysql 5.7 主从复制 主库:192.168.12.3 从库:192.168.12.2 1. 主库从库所在服务器关闭防火墙 Systemctl stop firewall ...

最新文章

  1. 【Usaco2014Open银组】照相(pairphoto)
  2. 单例模式懒汉、饿汉和登记
  3. [译]Perl中的数组
  4. 【Leetcode】143. Reorder List
  5. 啊哈C语言 第二章 【代码】【习题答案】
  6. 本科课程【数字图像处理】实验1 - 腐蚀与膨胀
  7. 软件测试 | 状态迁移法
  8. 求偏导c语言,求偏导是什么?有什么用法?请举例说明。
  9. JavaEE个人学习总结
  10. 多次进行hdfs namenode -format命令时,启动DataNode自动死亡的原因
  11. 启动docker 服务时 虚拟机端口转发 外部无法访问
  12. VAD检测原理及其过程
  13. Backblaze2022中期SSD故障质量报告解读
  14. css实现单边斜切效果
  15. Qt 配置自动清理中间文件 --- qmake
  16. pdf 电子签章 java_在pdf上加盖电子签章
  17. linux下git安装和配置
  18. RK3326 8.1系统定制化通用修改
  19. 利用百度网盘引流方法,如何利用百度网盘进行精准引流?
  20. 泰国ATM机被入侵致1200多万泰铢被盗,幕后黑客留疑团

热门文章

  1. 在maltab中画带参数的函数图像
  2. hilb--生成Hilbert(希尔伯特)矩阵
  3. 人眼中亮斑的检测、定位和去除(3)
  4. 【Kaggle-MNIST之路】CNN再添加一个层卷积(八)
  5. EM上的按钮是方框的问题
  6. 2017.2.12【初中部 GDKOI】模拟赛B组 T4:pot
  7. .NET 基础 一步步 一幕幕 [注释、命名规则、访问修饰符、数据类型、常量、变量]...
  8. 个人开源作品,即时通讯App支持文本、语音、图片聊天
  9. javac、jar使用实录
  10. gridview自动换行