mysql主从同步复制
主从同步原理
master记录数据操作
开启binlog日志
设置binlog日志格式
指定server_id
slave启用俩个线程
slave_io:复制master主机binlog日志为文件里的sql到本机的relay-log文件中
slave_SQL:执行本机relay_log文件里的sql语句重现master数据操作
案例1
部署mysql一主一从架构
主库:192.168.1.22
从库:192.168.1.61
俩台服务器安装mysql5.7,关闭防火墙
一、主库操作:
1.编辑配置文件并重启服务
vim /etc/my.cnf 添加以下内容
server_id=22 /指定server_id
log-bin /开启binlog日志
binlog_format="mixed" /设置binlog日志格式
:wq /保存并退出
systemctl restart mysqld /重启mysql服务
2.登陆数据库
mysql -uroot -p“密码”
3.创建数据同步账号
grant replication slave on *.* to replic@"192.168.1.61" identified by "Myql@2022";
4.查看 master状态,并记住文件名与偏移量
show master status;

二、 从库操作
1.编辑配置文件并重启服务
vim /etc/my.cnf 添加以下内容
server_id=22 /指定server_id
:wq /保存并退出
systemctrl restart mysqld /重启mysql服务
2.登陆数据库
mysql -uroot -p“密码”
3.指定主库信息
change master to
mater_host="192.168.1.22",
mater_user="replic",
master_password="Mysql@2022",
master_log_file="mysql-bin.0000051"
master_log_pos=3124;
4.开启slave
start slave
5.查看slave状态
show slave status\G

注:以下俩个值必须是yes状态
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
6.从库启动成功后,数据库目录下新增加四个类型相关文件/master61较乱,采用master62展示4个类型文件
master.info //存放主库信息
relay-log.info //中继日志信息
主机名-relay-bin.index //索引文件
主机名-relay-bin.xxxxxx //中继日志

三、.测试配置
1.主库授权一个用户用于测试

2.使用账户lw登录数据库
创建库wl

3.从库查看是否有wl库(如果有表示成功)

案例2
部署主从从架构
主库:192.168.1.22 /192.168.1.61的主库
从库:192.168.1.61 /192.168.1.22的从库,192.168.1.62的主库
从库:192.168.1.62 /192.168.1.61的从库
结合以上配置新增一台从库192.168.1.62
主库192.168.1.61配置
1.编辑配置文件并重启服务
vim /etc/my.cnf /添加以下配置
server_id=61 /案例一中已添加,无需添加此行
log-bin
binlog-format="mixed"
log_slave_updates /开启级联复制

:wq /保存并退出
systemctrl restart mysqld /重启mysql服务
2.登陆数据库
mysql -uroot -p“密码”
3.创建数据同步账号
grant replication slave on *.* to master62@"192.168.1.62" identified by "Myql@2022";
4.查看 master状态,并记住文件名与偏移量
show master status;

二、 从库操作
1.编辑配置文件并重启服务
vim /etc/my.cnf 添加以下内容
server_id=62 /指定server_id
:wq /保存并退出
systemctl restart mysqld /重启mysql服务
2.登陆数据库
mysql -uroot -p“密码”
3.指定从库信息
change master to
mater_host="192.168.1.61",
mater_user="master62",
master_passwword="Mysql@2022",
master_log_file="master61-bin.000005 "
master_log_pos=913;
4.开启slave
start slave
5.查看slave状态
show slave status\G

三、.测试配置
1.主库授权一个用户用于测试

2.使用账户lw登录数据库
创建库wl

3.从库查看是否有wl库(如果有表示成功)

主从复制同步模式
异步复制模式(默认为该模式)
主库执行完一次事务后,立即将结果返回给客户端,不关心从库是否已
经同步成功
全同步复制模式
当主库执行完一次事务后,等所有从库都同步成功后将结果返回给客户
端
半同步复制模式
主库在执行完一次事务后,等待至少一个从库同步成功才将结果返回给
客户端
配置半同步模式
主库:192.168.1.22 /192.168.1.61的主库
从库:192.168.1.61 /192.168.1.22的从库,192.168.1.62的主库
从库:192.168.1.62 /192.168.1.61的从库
一、192.168.1.22主库配置
1.查看是否允许加载模块
默认是允许状态
mysql> show variables like "have_dynamic_loading";

2.192.168.1.22主库上安装插件
mysql> install plugin rpl_semi_sync_master soname "semisync_master.so";
3.查看插件是否安装成功
mysql> select plugin_name,plugin_status from information_schema.plugins where plugin_name like "%semi%";

二、192.168.1.61主从库配置
主库上安装插件
mysql> install plugin rpl_semi_sync_master soname "semisync_master.so"; /主库插件
从库上安装插件
mysql> install plugin rpl_semi_sync_slave soname "semisync_slave.so"; /从库插件
查看插件是否安装成功
mysql> select plugin_name,plugin_status from information_schema.plugins where plugin_name like "%semi%";

三、192.168.1.62从库配置
从库上安装插件
mysql> install plugin rpl_semi_sync_slave soname "semisync_slave.so";
查看插件是否安装成功
mysql> select plugin_name,plugin_status from information_schema.plugins where plugin_name like "%semi%";

四、启动半同步模式
在安装完插件后,半同步复制模式默认是关闭的,需要手动启用/on为开启
1.主库上启用半同步复制模式
mysql> set global rpl_semi_sync_master_enabled=1;
2.在从库上启用半同步模式
mysql> set global rpl_semi_sync_slave_enabled=1;
3.查看半同步复制模式
mysql> show variables like "rpl_semi_sync_%_enabled";

五、永久启动半同步模式
修改配置文件永久启用半同步复制模式
1、主库配置
vim /etc/my.cnf
plugin-load=rpl_semi_sync_master=semisync_master.so
rpl_semi_sync_master_enabled=1
2、从库配置
plugin_load=rpl_semi_sync_slave=semisync_slave.so
rpl_semi_sync_slave_enabled=1
注意:是两行的,不是一行
mysql主从同步复制的更多相关文章
- 烂泥:mysql5.5主从同步复制配置
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在上篇文章<烂泥:学习mysql数据库主从同步复制原理>中,我们介绍了有关mysql主从复制的基本原理.在这篇文章中,我们来实际测试下mys ...
- mysql 主从 同步原理及配置
一.在mssql 里头实现同步镜像,只能主库用而镜像库不能同时用,而mysql 主从同步可以实现 数据库的读写分离,主库负责 update insert delete ,从库负责select 这样一来 ...
- mysql5.5主从同步复制配置
在上篇文章<烂泥:学习mysql数据库主从同步复制原理>中,我们介绍了有关mysql主从复制的基本原理.在这篇文章中,我们来实际测试下mysql5.5的主从同步复制功能. 注意mysql5 ...
- Mysql主从同步(复制)
目录: mysql主从同步定义 主从同步机制 配置主从同步 配置主服务器 配置从服务器 使用主从同步来备份 使用mysqldump来备份 备份原始文件 ...
- Mysql主从同步(复制)(转)
文章转自:https://www.cnblogs.com/kylinlin/p/5258719.html 目录: mysql主从同步定义 主从同步机制 配置主从同步 配置主服务器 配置从服务器 使用主 ...
- MySQL数据库的主从同步复制配置
一.主从同步机制原理 MYSQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态), ...
- MySQL半同步复制
从MySQL5.5开始,MySQL以插件的形式支持半同步复制.如何理解半同步呢?首先我们来看看异步,全同步的概念 异步复制(Asynchronous replication) MySQL默认的复制即是 ...
- MySQL主从同步原理 部署【转】
一.主从的作用:1.可以当做一种备份方式2.用来实现读写分离,缓解一个数据库的压力二.MySQL主从备份原理master 上提供binlog ,slave 通过 I/O线程从 master拿取 bin ...
- shell脚本修复MySQL主从同步
发布:thebaby 来源:net [大 中 小] 分享一例shell脚本,用于修改mysql的主从同步问题,有需要的朋友参考下吧. 一个可以修改mysql主从同步的shell脚本. 例子 ...
- mysql主从同步+mycat读写分离+.NET程序连接mycat代理
背景 最近新项目需要用到mysql数据库,并且由于数据量大的原因,故打算采用1主1从(主数据库负责增.删.改操作:从数据库负责查操作)的数据库架构,在实现主从之后还要实现读写分离的代理,在网上搜寻了很 ...
随机推荐
- 离线谷歌地图API的开发笔记(二)
一.地图引擎介绍 离线地图引擎运行在WINDOWS平台上,底层由Visual c++语言开发,编译为OCX插件方式.占用文件少,便于二次开发的快速安装部署. 具有专业地图的基础操作功能:地图放大.缩小 ...
- nginx 编译安装支持 upload progress module, upload module
下载地址: wiki.nginx.org/HttpUploadModule wiki.nginx.org/HttpUploadProgressModule 下载后解压至:/usr/src/文件夹下,其 ...
- Java基础之基本运算符
基本运算符 算数运算符:+.-.*./.%.++.-- 赋值运算符:= 关系运算符:>.<.>=.<=.==.!= instanceof 逻辑运算符:&&.|| ...
- 几个Shell脚本的例子
[例子:001]判断输入为数字,字符或其他 #!/bin/bash read -p "Enter a number or string here:" input case $inp ...
- Python3之并发(四)---线程锁
一.线程锁 保证多线程数据的一致性,对锁内的资源进行锁定,同一时间只能有一个线程来修改共享的数据多个线程同时加了同一个锁对象时,先获取到锁的线程会继续运行,未获取到锁的线程会处于堵塞状态,直到前面的线 ...
- ftp服务无法覆盖同名文件
1.linux修改/etc/pure-ftpd/pure-ftpd.conf的AutoRename yes 重启ftp服务 2.windows server修改 选中ftp站点,选择右侧高级设置,选 ...
- Django中的缓存的配置与使用
一.使用装饰器 在文件开头导入下面代码,然后在函数上方添加缓存的装饰器 from django.views.decorators.cache import cache_page 一:在视图View中使 ...
- pandas学习记要
本文翻译自文章: Pandas Cheat Sheet - Python for Data Science,同时添加了部分注解. 对于数据科学家,无论是数据分析还是数据挖掘来说,Pandas是一个非常 ...
- Spring Boot 启动时自动执行代码的几种方式
来源:https://mp.weixin.qq.com/s/xHAYFaNBRys3iokdJmhzHA 前言 java自身的启动时加载方式 Spring启动时加载方式 代码测试 总结 1.前言 目前 ...
- [2010年NOIP普及组] 接水问题
学校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为 1. 现在有 n 名同学准备接水,他们的初始接水顺序已经确定.将这些同学按接水顺序从1到n编号,i 号同 ...