当前位置: 首页 > news >正文

mysql数据库服务主从复制实现(基于position)

  1. 复制环境搭建
    1.1 备份主库信息
# mysqldump
https://www.cnblogs.com/lifeiLinux/p/19066160
# pxb
https://www.cnblogs.com/lifeiLinux/p/19066181
# 克隆
https://www.cnblogs.com/lifeiLinux/p/19094251

1.2 主数据库二进制日志功能开启

vim /etc/my.cnf
server_id=51
log_bin=/data/mysql80/datamysql-bin# 查看二进制功能是否开启
show variables like '%log_bin%';
+---------------------------------+-----------------------------------+
| Variable_name                   | Value                             |
+---------------------------------+-----------------------------------+
| log_bin                         | ON                                |
| log_bin_basename                | /data/mysql80/datamysql-bin       |
| log_bin_index                   | /data/mysql80/datamysql-bin.index |
| log_bin_trust_function_creators | OFF                               |
| log_bin_use_v1_row_events       | OFF                               |
| sql_log_bin                     | ON                                |
+---------------------------------+-----------------------------------+
# 确认多个复制节点的服务标识不同(server id)
mysql> select @@server_id;

1.3 确认多个复制节点的时间信息同步
1.4 确认多个复制节点的版本信息一致
说明:部分实际应用场景中可以支持不一致,但是复制源端可以是低版本,复制目标端可以是高版本,反之不行;
1.5 创建主从数据同步的用户信息

# 在主库上创建复制同步数据用户
mysql> create user repl@'10.0.0.%' identified with mysql_native_password by '1';
mysql> grant replication slave on *.* to repl@'10.0.0.%';
# 从库会利用主库上的同步数据用户,进行数据同步传输操作

1.6 配置主从节点数据复制的信息

# 获取连接主库,以及定义同步位置点的数据库配置模板信息
vim full_`date +%F`.sql
# CHANGE MASTER TO MASTER_LOG_FILE='binlog.000036', MASTER_LOG_POS=1738;
# 通过备份文件获取同步位置点信息1738
mysql> CHANGE MASTER TOMASTER_HOST='10.0.0.51',MASTER_USER='repl',MASTER_PASSWORD='1',MASTER_PORT=3306,MASTER_LOG_FILE='binlog.000036',MASTER_LOG_POS=833,MASTER_CONNECT_RETRY=10;
# 以上配置主从同步信息在从库进行执行;

1.7 激活主从节点数据复制的线程

# 利用相应线程实现主从数据库的数据同步复制
mysql> start slave;
# 在从库上激活数据复制同步功能# 若此时数据同步失败可以重新开启同步功能
mysql> stop slave;
mysql> reset slave all;
# 在从库上重置数据复制同步功能,重新配置change master to信息,然后重新激活同步复制功能# 进行核实主从同步功能是否实现
mysql -S /tmp/mysql.sock
mysql> create database xiaoq;
# 在主库模拟创建数据信息
mysql -S /tmp/mysql.sock
mysql> show databases;
# 在从库模拟查看数据信息(确认是否同步数据)
mysql> show slave status\G
# 从库上查看数据同步状态情况,看到上面的两个Yes信息,就表示主从数据同步功能设置成功了
Slave_IO_Running: Yes
lave_SQL_Running: Yes
http://www.wxhsa.cn/company.asp?id=5400

相关文章:

  • 海量接入、毫秒响应:易易互联携手阿里云构筑高可用物联网消息中枢
  • macOS Sequoia 15.7 (24G222) 正式版 ISO、IPSW、PKG 下载
  • C++ std::list
  • 函数是编程范式的原理是什么?
  • 能耐高温400度密封圈用什么材质
  • 【IEEE出版|Fellow云集】第五届电气工程与机电一体化技术国际学术会议(ICEEMT 2025)
  • APDU笔记
  • AR眼镜:远程协作的“破局者”,让困难解决“云手帮”
  • 跨网文件摆渡系统功能全解析
  • 跨平台代码同步新时代:Gitee携手GitHub打造开发者高效协作生态
  • CTFer
  • 家政小程序源码一站式开发:助力家政企业数字化转型
  • Gitee推出跨平台镜像功能:一键同步GitHub仓库,开发者协作效率提升50%
  • DeClotH: Decomposable 3D Cloth and Human Body Reconstruction from a Single Image
  • 在 Streamable HTTP 传输模式下启动并测试 MCP Serverr (二)
  • 从0到1上手阿里云ARMS:让Java服务监控变得简单
  • 聚焦实用:内外网文件摆渡系统品牌推荐来了!
  • 生物活性肽:从基础研究到治疗应用的潜力与挑战,及计算机辅助筛选的关键作用
  • MySQL视图定义者和安全性definer/invoker的区别
  • 软件测试day2
  • 软件测式学习
  • 担心安全与速度?这份跨网文件传输方式推荐清单请收好!
  • kettle基本操作3:剪切原字段末尾的空格符
  • Guid g = Guid.Empty;Guid.TryParse(, out g);
  • 【IEEE出版|上海理工大学】第六届大数据、人工智能与物联网工程国际会议(ICBAIE 2025)
  • MDI Jade9.0中文版详细下载及安装教程,附免费免激活版MDI Jade安装包!!
  • C++ std::vector
  • RC-Explainer | Reinforced Causal Explainer for Graph Neural Networks
  • 批量遍历文件夹内得文件生成md5值
  • 使用源码启动 seata tc server