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

mysql主从复制及原理

目录

  • 主从复制原理
  • 实现主从复制

主从复制原理

主要基于MySQL二进制日志
主要包括三个线程(2个I/O线程,1个SQL线程)

1、MySQL将数据变化记录到二进制日志中;

2、Slave将MySQL的二进制日志拷贝到Slave的中继日志中;

3、Slave将中继日志中的事件在做一次,将数据变化,反应到自身(Slave)的数据库

实现主从复制

在主服务器(master)上启用二进制日志

选择一个唯一的server-id
创建具有复制权限的用户
在从服务器(slave)上 启用中继日志(二进制日志可开启,也可不开启)

选择一个唯一的server-id
连接至主服务器,并开始复制

主ip: 192.168.128.128
从ip:192.168.128.130

进入主在/etc/my.cnf 写入:[mysqld]
log_bin = mysql-bin
server_id = 128重启数据库
2)
mysql> grant replication slave on *.* to 'rep'@'192.168.128.%' identified by 
'123456';
mysql> show grants for 'rep'@'192.168.128.%';3)锁表设置只读
为后面备份准备,注意生产环境要提前申请停机时间;
mysql> flush tables with read lock;4)查看主库状态
查看主库状态,即当前日志文件名和二进制日志偏移量
mysql> show master status;5)备份数据库数据
mysqldump -uroot -p -A -B |gzip > /server/backup/mysql_bak.$(date +%F).sql.gz6)解锁
mysql> unlock tables;7)主库备份数据上传到从库
scp /server/backup/mysql_bak.2015-11-18.sql.gz 192.168.128.128:/server/backup/二:从库上设置
1)设置server-id值并关闭binlog参数#log_bin = /data/mysql/data/mysql-binserver_id = 130重启数据库:2)还原从主库备份数据cd /server/backup/gzip -d mysql_bak.2015-11-18.sql.gz mysql -uroot -p < mysql_bak.2015-11-18.sql检查还原:mysql -uroot -p -e 'show databases;'3)设定从主库同步mysql> change master to
MASTER_HOST='192.168.95.128',
MASTER_PORT=3306,
MASTER_USER='rep',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=329;4)启动从库同步开关mysql> start slave;
检查状态:mysql> show slave status\G
http://www.lryc.cn/news/107656.html

相关文章:

  • MQTT服务器详细介绍:连接物联网的通信枢纽
  • 通过VBA宏合并Excel工作表
  • Mac 定时重启 TouchBar 脚本(缓解闪烁问题)
  • Redis主从复制、哨兵机制、集群分片
  • 字段填充策略 FieldFill
  • Docker run 启动容器报错
  • Golang之路---03 面向对象——类型断言
  • Atcoder 做题记录
  • C++之观察者模式(发布-订阅)
  • 无头单链表,有完整测试程序
  • 2023年第四届“华数杯”数学建模思路 - 案例:FPTree-频繁模式树算法
  • MySQL做分布式锁
  • Python学习笔记:变量类型、字符串基本操作
  • JVM的组件、自动垃圾回收的工作原理、分代垃圾回收过程、可用的垃圾回收器类型
  • 【elementui】解决el-select组件失去焦点blur事件每次获取的是上一次选中值的问题
  • 通过了PMP考试,还有什么证书值得考?
  • 页面技术基础-html
  • /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28‘ not found
  • 解决SVN或GIT忽略提交文件的问题
  • Django框架之路由用法
  • 回文链表 LeetCode热题100
  • 如何在群晖NAS中使用cpolar内网穿透
  • 无头单向不循环链表和带头双向循环链表的创建
  • 超简单的fastapi链接websocket用例
  • MySQL详解
  • Vue [Day2]
  • 【前端|Javascript第1篇】一文搞懂Javascript的基本语法
  • 【Linux命令200例】cp用于复制文件和目录(常用)
  • C高级_第二讲_shell指令和shell脚本_递归练习
  • 静态路由综合实验