首页 > 数据库 >MySQL主从复制过程

MySQL主从复制过程

时间:2024-07-16 20:29:31浏览次数:13  
标签:do 主从复制 log 数据库 table replicate MySQL master 过程

1、主库操作:

修改数据库配置文件

liunx的my.cnf文件; windows系统的my.ini文件

[mysqld]
# 最大链接数
max_connections=1000 
#主库----start--- 同一局域网内注意要唯一
server-id=100
#开启二进制日志功能,可以随便取(关键)
log-bin=mysql-bin
 #记录的数据库(多数据库用逗号,隔开)
binlog-do-db = test
#忽略数据库 (多数据库用逗号,隔开)
binlog-ignore-db = test2
主库----end---

#以下为可选配置
#设置存储模式不设置默认 
binlog_format=row 
#日志清理时间 
expire_logs_days=7 
#日志大小 
max_binlog_size=1000m 
# 缓存大小 
binlog_cache_size=4m 
#最大缓存大小 
max_binlog_cache_size=521m 

命令:

#创建用户
GRANT FILE ON *.* TO 'test'@'%' IDENTIFIED BY '123456';
#赋权限
GRANT REPLICATION SLAVE ON *.* TO 'test'@'%' IDENTIFIED BY '123456';
#刷新
FLUSH PRIVILEGES;
#重启服务
service mysqld restart;

#查看是否设置成功
show master status;
注:test和123456设置为你自己的用户名密码

如果能看到类似信息,代表设置成功。主库完成操作。
在这里插入图片描述

2、从库操作

修改从库配置文件

[mysqld]
#从库----start--- 
#设置server_id,注意要唯一
server-id=101
#开启二进制日志功能,以备Slave作为其它Slave的Master时使用
log-bin=mysql-slave-bin
# relay_log配置中继日志
relay_log=edu-mysql-relay-bin
# 配置是否写入自身bin-log。如果使用从库作为master再向下同步,必须填写
log-slave-updates=1
# 同步的模式
binlog-format=row
# 同步的库
replicate-do-db=test
# 同步的表
replicate-wild-do-table=test.tab1
replicate-wild-do-table=test.tab1
配置项说明:

replicate-do-db #设定需要复制的数据库(多数据库使用逗号,隔开)
replicate-ignore-db #设定需要忽略的复制数据库 (多数据库使用逗号,隔开)
replicate-do-table #设定需要复制的表
replicate-ignore-table #设定需要忽略的复制表
replicate-wild-do-table #同replication-do-table功能一样,但是可以通配符
replicate-wild-ignore-table #同replication-ignore-table功能一样,但是可以加通配符
replicate-rewrite-db #重写库名 用于主库和从库不一致的场景

注:server_id 和主库不能相同,保持唯一

命令:

#重启
service mysqld restart;
#停止同步
stop slave;
#配置同步信息
change master to master_host='192.168.0.1',master_port=308,master_user='test',master_password='123456',master_log_file='mysql-bin.000003', master_log_pos=153722; 
# 开始同步
start slave;
#显示状态
show slave status;

如图,两个yes,代表设置成功。

在这里插入图片描述

问题记录

1. 都设置完成,查看也没问题。数据却没同步

原因:主库和从库数据库名称不一致。
解决方案:修改从库配置,重启;
#重命名数据库
replicate-rewrite-db = db1 -> db2

2. 只同步一条,第二条记录就不同步了,

原因:可能是没有设置忽略错误
解决方案: 查看是否配置略过错误:
slave-skip-errors=all

标签:do,主从复制,log,数据库,table,replicate,MySQL,master,过程
From: https://blog.csdn.net/weixin_45804327/article/details/140456948

相关文章

  • MySQL 索引
    MySQL索引一、介绍二、索引的分类三、单列索引、组合索引四、全文索引五、空间索引六、索引的原理、优缺点、创建原则一、介绍索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的......
  • MySQL数据库一主一从集群配置
    环境环境三部曲1.全新服务器-互相通信2.全新安装mysql8.0-分别安装3.配置域名解析这里来讲一主一从的第二种连接方式,第一种的话可以参考下面连接:第一种方式一主一从(M-S)(2)需求实验2与上一个实验需求基本相同。master1作为主mysqlmaster2作为从mysql。不同之......
  • MySQL 数据库 day 7.16
        ok了家人们今天继续记录一下数据库,看看今天学了什么。一.事物概述1.1环境准备--账户表createtableaccount(idintprimarykeyauto_increment,namevarchar(20),moneydouble);insertintoaccountvalues(null,'张三',1000......
  • MySQL基础(必会)
    目录MySQL基础数据类型:事务事务操作事务的四大特性,ACID并发事务问题事务隔离级别MySQL基础数据类型:数值类型:字符类型:(!!!!char和varchar的区别一定要记住,博主第一次面试就被问到了)日期时间类型:事务事务是一系列操作的集合,他是不可分割的工作单位,事务会把所有的操作......
  • MySQL版本的相关问题:com.mysql.cj.jdbc.Driver和com.mysql.jdbc.Driver
    原文链接:https://www.cnblogs.com/daemonFlY/p/9820541.html1.在使用mysql时,控制台日志报错如下:Loadingclass`com.mysql.jdbc.Driver'.Thisisdeprecated.Thenewdriverclassis`com.mysql.cj.jdbc.Driver'.ThedriverisautomaticallyregisteredviatheSPIand......
  • 如何将Navicat MySQL 数据库表分组复用或分享给其他人?
    一般大家做软件项目中,数据库的表是非常多的!几百张表一眼望去密密麻麻!一点看的欲望都没有了!于是乎,NavicatMySQL新增了一项功能:表分组,这样我们只需要将每个业务模块的表放到一个分组中!如图是不是就非常清晰了!应该有不少童鞋都已经这样使用了! 于是乎,新的烦恼来了,这个分组只......
  • Visual Studio使用——vs使用过程中常见问题积累,技巧集锦等,持续更新中
    目录引出VisualStudio使用自定义代码片段vs显示所有文件总结Idea安装和使用0.Java下载和IDEA工具1.首次新建项目2.隐藏文件不必要显示文件3.目录层级设置4.Settings设置选择idea的场景提示代码不区分大小写取消git的代码作者显示引出VisualStudio使用——vs......
  • 【YashanDB知识库】存储过程报错snapshot too old
    问题描述20231127上午客户反馈绩效系统20231125、20231126出现2次YAS-02020snapshottooold的问题,测试也有类似问题。该过程是客户新增的存储过程,目的是通过PRO_RUN_JOB作为主控,调度其他存储过程,后续不用其他调度引擎。原因分析错误信息收集分析分析存储过程报错日志,核查UN......
  • MySQL的学习
    关于数据库(DB)数据库是按照数据结构来组织、存储和管理数据的仓库。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。有什么类型关系型数据库所谓关系模型就是“一对一、一对多、多对多”等关系模型,非关系型数据库它们不保证关系数据的A......
  • MySQL学习笔记——索引
    索引0.前言本文是跟着网课学习的时候随手记录的一篇关于MySQL索引的学习笔记1.索引概述1.1.索引介绍索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据......