mysql运维(主从复制)

概述

主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从库服务器中,然后在在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。

mysql支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库,实现链状复制。

主库(master)

从库(slave)

mysql复制的优点主要包括:

  • 主库出现问题,可以快速切换到从库提供服务
  • 实现读写分离,降低主库的访问压力
  • 可以在从库中执行备份,以避免备份期间影响主库服务

底层原理

二进制日志

搭建

主库配置

txt 复制代码
#mysql服务id,保证整个集群环境中唯一,取值范围1-2^23-1,默认为1
server-id=1
#是否只读,1代表只读,0代表读写
read-only=0
# 忽略的数据,指不需要同步的数据库
# binlog-ignore-db=mysql
#指定同步的数据库
# binlog-do-db=db01

从库配置

sql 复制代码
#创建用户,并设置密码,给用户可以在任意主机连接该mysql服务
create user 'itcast'@'%' identified with mysql_native_password by 'Root@123456';
#为'itcast'@'%'用户分配主从复制权限
grant replication slave on *.* to  'itcast'@'%';

查看二进制日志坐标

sql 复制代码
show master status;

字段含义说明:

  • file:从哪个日志文件开始推送日志文件
  • position:从哪个位置开始推送日志
  • binlog_ignore_db:指定不需要同步的数据库

从库配置

修改配置文件(/etc/my.cnf)

java 复制代码
#mysql服务id,保证整个集群环境中唯一,取值范围1-2^23-1,默认为1
server-id=2
#是否只读,1代表只读,0代表读写
read-only=1
#超级管理员只读
super-read-only=1

修改配置文件后要重启生效

bash 复制代码
systemctl restart mysqld

设置主库相关配置

mysql8.023之后配置

sql 复制代码
change replication source to source_host='xxx.xxx'
,source_user='xxx'
,source_password='xxx'
,source_log_file='xxx'
,source_log_pos=xxx;

mysql8.023之前配置

sql 复制代码
CHANGE MASTER TO 
  MASTER_HOST='xxx.xxx',
  MASTER_USER='xxx',
  MASTER_PASSWORD='xxx',
  MASTER_LOG_FILE='xxx',
  MASTER_LOG_POS=xxx;

开启同步操作

sql 复制代码
start replica #8.0.22之后
start slave #8.0.22之前

查看从库状态

sql 复制代码
show replica status;#8.0.22之后
 
show slave status;#8.0.22之前

测试

相关推荐
2601_9605679617 分钟前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
姜太小白33 分钟前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
吳所畏惧1 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
HiDev_2 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
liuxiaowei32 小时前
【绝版教程】新版MySQL DBA高级实战进阶班 MySQL8.0 姜承尧-腾讯数据库总监
数据库·mysql·dba
执明wa2 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
Zhang~Ling2 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
爱写代码的森3 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
404_coder3 小时前
源码视角下的 Android 开机流程:从 Zygote、SystemServer 到 Launcher
android
二流小码农3 小时前
鸿蒙开发:以登录案例了解代码架构MVVM
android·ios·harmonyos