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

MySQL 主从同步(复制)实战

首先得有2台服务器,其中一台上的MySQL为主库,另外一台上的MySQL为从库

主库操作

1、修改配置
# Master - 主从同步设置,需要开记binlog
server-id = 1 # 要唯一
# bin log 位置
log_bin = /var/lib/mysql/mysql-bin

重启 MySQL 让配置生效

2、创建用于从库登陆的用户
# 创建用户
CREATE USER 'slave1'@'x.x.x.x' IDENTIFIED BY 'password';
# 赋予用户slave1复制权限
GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'x.x.x.x';

x.x.x.x 是从库服务器IP
slave1 可以改成自己喜欢的名称
password 设置你喜欢的登陆密码

3、将数据导出
  • 锁表-只读
FLUSH TABLES WITH READ LOCK; 
  • 显示 master 信息
SHOW MASTER STATUS; 

status.png

记住红色位置的内容,从库需要用到

  • 将数据导出
mysqldump -u root -p --all-databases --master-data > dbdump.sql
  • 解开表(可读可写)
UNLOCK TABLES; 
4、将 dbdump.sql 文件发送到从库的主机上

以你喜欢的方式就行,能传到从库的主机就行

从库操作

1、修改配置
# slave - 主从同步设置,需要开记binlog
server-id = 2 # 要唯一
# binlog 位置
log_bin = /var/lib/mysql/mysql-bin

重启 MySQL 让配置生效

2、导入从主库第三步导出的数据
mysql -u root -p < /home/ubuntu/dbdump.sql
3、建立与主库的连接
  • 停止复制状态
STOP SLAVE; 
  • 与主库建立连接,从而同步
CHANGE MASTER TO
MASTER_HOST='b.b.b.b',
MASTER_PORT=8036,
MASTER_USER='slave1',
MASTER_PASSWORD='sync900966',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=3784;

MASTER_HOST - 主库服务器IP
MASTER_USER - 主库操作第二步设置的用户
MASTER_PASSWORD - 主库操作第二步设置的密码
MASTER_LOG_FILE - 主库操作第三步 master 信息 - File
MASTER_LOG_POS - 主库操作第三步 master 信息 - Position

至此不出意数据应该可以同步了

主从复制有三种同步方式

  • 异步复制:主库执行完事务后,不等待从同库确认,这是默认的
  • 半异步复制:主库执行完事务后,至少等到有一个从同库确认
  • 同步复制:主库执行完事务后,等到所有从同库确认

问题排查

  1. 不要使用域名,我刚开始使用域名,结果同步不了
  2. 在主库授予登陆IP要和从库IP一致
  3. server-id 从库与主库不能相同且要唯一

可能用到命令

  • 查看从服务器(Slave)复制状态
SHOW SLAVE STATUS;

如果正常的话
Slave_IO_State: Waiting for master to send event,如果有错误,也会在这个字段提示
xxx_xx_Running 这几个字段正常是 Yes

  • 查看主服务器(Master)状态
SHOW MASTER STATUS;
  • 停止复制线程
STOP SLAVE;
  • 启动复制线程
START SLAVE;
  • 显示线程列表
SHOW PROCESSLIST;

文章转载自:

http://ww4N3esh.fnjrh.cn
http://uxLII6X2.fnjrh.cn
http://3crKvNS4.fnjrh.cn
http://ocZoSTE0.fnjrh.cn
http://wTvkBnUh.fnjrh.cn
http://NfSqO2Nj.fnjrh.cn
http://HwQNYXFB.fnjrh.cn
http://qbeWcrm4.fnjrh.cn
http://OgffDHZz.fnjrh.cn
http://ToDfGqda.fnjrh.cn
http://SPwV5CCi.fnjrh.cn
http://dP0NgDxi.fnjrh.cn
http://IADdaWAR.fnjrh.cn
http://LOt5F4BO.fnjrh.cn
http://BcDHNrdH.fnjrh.cn
http://wdfvdsYO.fnjrh.cn
http://6oZROKpd.fnjrh.cn
http://ZgEMzxVT.fnjrh.cn
http://8UE47ghm.fnjrh.cn
http://K7xgEYbJ.fnjrh.cn
http://ikh86tH2.fnjrh.cn
http://3KOsdgBj.fnjrh.cn
http://OgTbU6Ba.fnjrh.cn
http://yDf0DFAB.fnjrh.cn
http://02iQJ007.fnjrh.cn
http://ivDOmudI.fnjrh.cn
http://UowHFGp8.fnjrh.cn
http://Z1cWMVPF.fnjrh.cn
http://gTOVlbIc.fnjrh.cn
http://Rr68i5W8.fnjrh.cn
http://www.dtcms.com/a/385314.html

相关文章:

  • redis面试点记录
  • mysql和postgresql如何选择
  • 电磁兼容性(EMC)法规
  • 【论文笔记】Self-Supervised Point Cloud Prediction for Autonomous Driving
  • MySQL数据库(四)—— 使用MyCat实现MySQL主从读写分离实战指南
  • HTB paper
  • oracle认证有哪几种?如何选择
  • YoloV8改进策略:上采样改进|反卷积|数学上可逆的反卷积」塞进 YOLOv8,涨点不涨参!图像恢复黑科技 Converse2D 的跨界奇袭!
  • springboot netty 服务端网络编程入门与实战
  • 从零开始学AI——15
  • Linux C库函数的可重入与不可重入版本说明
  • ZooKeeper核心知识点总结:分布式系统的“协调者”
  • Unreal故障艺术之RGB颜色分离故障
  • 金融数据---东方财富人气榜-A股
  • 设计模式详解——创建型
  • Java 泛型与通配符全解析
  • Python变量与数据类型全解析:从命名规则到类型转换
  • 了解篇 | StarRocks 是个什么数据库?
  • 风险控制规则引擎:从敏捷开发工具到管理逻辑的承载者
  • 基于Matlab深度学习的植物叶片智能识别系统及其应用
  • AI编程从0-1开发一个小程序
  • Android原生的TextToSpeech,文字合成语音并播放
  • 【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
  • 高德api使用
  • 工程造价指数指标分析:从数据采集到决策支撑的工程经济实践
  • 中控平台数据监控大屏
  • Vue 与 React 的区别?
  • 元图CAD:智能工程图纸解决方案的商业模型创新
  • MySQL 全量备份迁移步骤指南
  • 有关gitlab14.x版本在内网环境下无法添加webhooks的解决方法