MySQL同步数据Replication的实现步骤

 更新时间:2023年03月24日 16:25:57   作者:yangtom249  
本文主要介绍了MySQL同步数据Replication的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

MySQL提供了Replication功能,可以实现将一个数据库的数据同步到多台其他数据库。前者通常称之为主库(master),后者则被称从库(slave)。MySQL复制过程采用异步方式,但延时非常小,秒级同步。

一、同步复制数据基本原理

1.在主库上发生的数据变化记录到二进制日志Binlog
2.从库的IO线程将主库的Binlog复制到自己的中继日志Relay log
3.从库的SQL线程通过读取、重放中继日志实现数据复制

mysql

MySQL的复制有三种模式:Statement Level、Row Level、Mixed Level。复制级别的不同,会导致Master端二进制日志文件的生成形式的不同。

二、同步数据示例

操作系统:centos7
数据库:mysql8
主机(master):192.168.0.101
从机(slave):192.168.0.102

1、修改主从mysql配置文件

主机配置my.cnf

[mysqld] 
# 服务器标识,每个服务器不能一样
server_id=101
# 开启日志文件
log_bin=binlog 
# 普通用户只能读 OFF是关闭状态
read_only=off 
# 超级用户只能读 OFF是关闭状态
super_read_only=off

从机配置

[mysqld]
# 服务器标识
server_id=102
# 启用binlog日志,并指定文件名前缀
log_bin=binlog
# 普通用户只能读 on是开启状态 
read_only=on 
# 超级用户只能读 on是开启状态 
super_read_only=on

重启服务

systemctl restart mysqld

2、主机建立同步账号,并查看主库状态信息

登录数据库,并创建账号

create user repl identified with mysql_native_password by 'repl123';
grant replication slave on *.* to repl;
flush privileges;

查看主库master状态,获取日志文件名称和偏移量信息

show-master

3、从机同步配置

复制主机的二进制日志操作(部分数据通过查看主库master状态)
主机的同步账号:source_user
密码:source_password
端口:source_port
日志文件:source_log_file
偏移量:source_log_pos

change replication source to source_host='192.168.0.101', source_user='repl', source_password='repl123', source_port=3306,source_log_file='binlog.000001', source_log_pos=154;

从机启动同步

start replica;

4、查看同步配置效果

在主机上,查看是否存在从机的连接

show processlist;

查看从机同步复制的状态

show slave status\G

在主机上,向某表中插入数据,查看从机对应表中的数据情况,经测试效果很好(略)

到此这篇关于MySQL同步数据Replication的实现步骤的文章就介绍到这了,更多相关MySQL同步数据Replication内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql官方性能测试工具mysqlslap的使用简介

    Mysql官方性能测试工具mysqlslap的使用简介

    mysqlslap随着MySQL安装的时候就自动安装好了,而且 mysqlslap 把很多的自定义测试的功能封装到了外部,使用者只需要在外部提供 SQL 语句的脚本就可以自定义测试语句,本文将简单介绍该工具的使用
    2021-05-05
  • 深入解析半同步与异步的MySQL主从复制配置

    深入解析半同步与异步的MySQL主从复制配置

    这篇文章主要介绍了半同步与异步的MySQL主从复制配置,包括不同的连接方案的讨论,需要的朋友可以参考下
    2015-12-12
  • mysql中的find_in_set字符串查找函数解析

    mysql中的find_in_set字符串查找函数解析

    这篇文章主要介绍了mysql中的find_in_set字符串查找函数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • MySQL 随机查询数据与随机更新数据实现代码

    MySQL 随机查询数据与随机更新数据实现代码

    以下的文章主要讲述的是MySQL随机查询数据、MySQL随机更新数据的实际应用以及对MySQL随机查询数据、MySQL随机更新数据的实际应用代码的描述,以下就是文章的主要内容描述,望你会有所收获。
    2010-06-06
  • 一文搞懂MySQL索引特性(清晰明了)

    一文搞懂MySQL索引特性(清晰明了)

    索引可以提高数据库的性能,提高一个海量数据的检索速度,但是插入,更新,删除的速度相应会降低,下面这篇文章主要给大家介绍了关于MySQL索引特性的相关资料,需要的朋友可以参考下
    2023-04-04
  • 与MSSQL对比学习MYSQL的心得(八)--插入 更新 删除

    与MSSQL对比学习MYSQL的心得(八)--插入 更新 删除

    这一篇《与MSSQL对比学习MYSQL的心得(八)》将会讲解MYSQL的插入、更新和删除语句
    2014-08-08
  • mysql中如何对列求和

    mysql中如何对列求和

    这篇文章主要介绍了mysql中如何对列求和问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Mysql主从GTID与binlog的区别及说明

    Mysql主从GTID与binlog的区别及说明

    MySQL GTID(全局事务标识符)与binlog(二进制日志)是搭建主从复制的两种机制,GTID为每个事务分配唯一标识,确保复制无数据冲突或丢失,便于复制配置和管理;binlog记录所有数据库更改,用于数据恢复和复制,GTID基于事务标识
    2024-10-10
  • MySQL慢查询现象解决案例

    MySQL慢查询现象解决案例

    这篇文章主要介绍了MySQL慢查询现象解决案例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-08-08
  • CentOS 7 下使用yum安装MySQL5.7.20 最简单方法

    CentOS 7 下使用yum安装MySQL5.7.20 最简单方法

    这篇文章主要介绍了CentOS 7 下使用yum安装MySQL5.7.20 最简单 方法,需要的朋友可以参考下
    2018-11-11

最新评论