深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

MYSQL数据库的同步建置(standby)

查看数: 1580 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-9-11 23:22

正文摘要:

本帖最后由 zhgc 于 2020-11-12 21:49 编辑 MYSQL数据库的同步建置 配置过程: 1. 创建一个复制用户,具有replication slave 权限 mysql>grant replication slave on *.* to 'repl'@'192.168.0.109' id ...

回复

e54f 发表于 2019-9-12 14:34:55
本帖最后由 e54f 于 2019-9-12 14:36 编辑

做了MySQL主从复制以后,使用mysqldump对数据备份时,一定要注意按照如下方式:

mysqldump --master-data --single-transaction --user=username --password=password dbname> dumpfilename

加与不加,文档内容差异部分如下:

  1. --
  2. -- Position to start replication or point-in-time recovery from
  3. --

  4. CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000090', MASTER_LOG_POS=107;
复制代码


小结:

  --master-data选项的作用就是将二进制的信息写入到输出文件中,在这里是写入到备份的sql文件中。
e54f 发表于 2019-9-12 14:16:17
MySQL的主从同步,又称为复制(replication),是一种内置的高可用高性能集群解决方案

主要功能有:
数据分布:同步不需要很大带宽,可以实现多数据中心复制数据。
读取的负载均衡:通过服务器集群,可以通过DNS轮询、Linux LVS等GSLB(全局负载均衡)方式,降低主服务器的读压力。
数据库备份:复制是备份的一部分,但并不能代替备份。还需要与快照相结合。
高可用性和故障转移:从服务器可以快速切换为主服务器,减少故障的停机时间和恢复时间。

主从同步分为3步:
主服务器(master)把数据更改记录到二进制日志(binlog)中。
从服务器(slave)把主服务器的二进制日志复制到自己的中继日志(relay log)中。
从服务器重做中继日志中的日志,把更改应用到自己的数据库上,达到数据的一致性。
主从同步是一个异步实时的同步,会实时的传输,但存在执行上的延时,如果主服务器压力很大,延时也会相应扩大。

通过上面的图,可以看到一共需要3个线程:
主服务器的日志传送线程:负责将二进制日志增量传送到备机
从服务器的I/O线程:负责读取主服务器的二进制日志,并保存为中继日志
从服务器的SQL线程,负责执行中继日志
zhgc 发表于 2019-9-12 00:04:04
本帖最后由 zhgc 于 2019-9-12 13:57 编辑

设置读锁

mysql>flush tables with read lock;

备份要同步的数据库

mysqldump test > test.sql

解锁

mysql>unlock tables;


flush tables with read lock:
关闭所有打开的表,同时对于所有数据库中的表都加一个读锁,
直到显示地执行unlock tables,
该操作常常用于数据备份的时候

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-6-29 05:35 , Processed in 0.059349 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表