mysql 数据库的主从同步
1.复制准备
操作系统 centOS
提示:
3.从库上执行操作
3.1 设置server-id值并关闭binlog设置
数据库的server-id一般在LAN内是唯一的,这里的server-id要和主库及其他从库不同,并注释掉从库的binlog参数配置;
执行vi /etc/my.cnf 编辑my.cnf配置文件,按如下两个参数内容修改;
[mysqld]
server-id = 2
#log-bin = mysql-bin
补充:以下5行我实际项目中没有添加也没测过应该没问题
master-connect-retry=60 # 预设重试间隔60秒
replicate-do-db=vbb # 告诉slave只做vbb数据库的更新
replicate-ignore-db=mysql # 不同步的数据库
replicate-ignore-table=vbb.users # 不同步vbb数据库的users表
log-slave-updates=1
检查配置后的结果
grep -E "server-id|log-bin" /etc/my.cnf
#log-bin = mysql-bin log-bin后面也可以不带等号内容,mysql会使用默认日志。
重启从数据库
/etc/init.d/mysql restart
3.2还原主库导出的数据到从库
cd /server/backup/ && ls -l
然后解压刚才备份的
gzip -d mysql_bak.2017-07-25.sql
恢复命令
mysql -uroot -p"123123" < mysql_bak.2017-07-25.sql
3.2登陆从库配置同步参数
mysql -uroot -p"123123"
CHANGE MASTER TO 连接主数据库
MASTER_HOST="123.56.94.1", 这里是主库的ip
MASTER_PORT=3306, 这里是主库的端口,从库的端口可以和主库不同
MASTER_USER="rep", 这里是主库上建立的用于复制的用户rep
MASTER_PASSWORD="123456", 这里是rep的密码
MASTER_LOG_FILE="mysql-bin.000004", 这里是show master status时查看到的二进制日志文件名称,注意:1.不能多空格;2.主数据库导出数据前的值,不是现在再执行的。
MASTER_LOG_POS=1273; 这里是show master status时查看到的二进制日志偏移量,注意不能多空格。
不登陆数据库,在命令行快速执行change master的语句(适合在脚本中批量建slave库用)
cat | mysql -uroot -p"oldboy" <<EOF
CHANGE MASTER TO
MASTER_HOST="123.56.94.1",
MASTER_PORT=3306,
MASTER_USER="rep",
MASTER_PASSWORD="123456",
MASTER_LOG_FILE="mysql-bin.000004",
MASTER_LOG_POS=1273;
EOF
3.2启动从库同步开关
启动从库同步开关,并查看同步状态
mysql -uroot -p"123123" -e "start slave;"
mysql -uroot -p"123123" -e "show slave status\G;"
也可登陆数据库里面执行下面两个命令:
start slave
show slave status\G;
判断搭建是否成功就看如下IO和SQL两个线程是否显示为yes状态
Slave_to_Running: Yes #负责从库去主库读取binlog日志,并写入从库中继日志中
Slave_SQL_Running: Yes #负责读取并执行中继日志中的binlog,转换sql语句后应用到数据库汇总
也可以执行命令过滤查看如下
mysql -uroot -p"123123" -e "show slave status\G;" | egrep "IO_Running|SQL_Running"
3.3测试复制结果
主库创建一数据库,看从库是否有.
mysql -uroot -p"123123" -e "create database diablo4;"
mysql -uroot -p"123123" -e "show databases like 'diablo4';"
mysql 数据库的主从同步的更多相关文章
- mysql数据库的主从同步,实现读写分离 g
https://blog.csdn.net/qq_15092079/article/details/81672920 前言 1 分别在两台centos 7系统上安装mysql 5.7 2 master ...
- MySQL数据库的主从同步复制配置
一.主从同步机制原理 MYSQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态), ...
- mysql数据库的主从同步,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接操作,数据库必然会崩溃,特别 ...
- MySQL数据库的主从同步
什么要进行数据库的主从同步? 防止单点故障造成的数据丢失 主从复制的原理 MySQL从数据库开启I/O线程,向主服务器发送请求数据同步(获取二进制日志) MySQL数据库开启I/O线程回应从数据库 从 ...
- MySQL数据库的主从同步实现及应用
>>主从同步机制及应用 读写分离(Read/Write Splitting)让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELETE),从数据库处理SELECT查询操作 ...
- MySQL Replication 详解MySQL数据库设置主从同步的方法
MySQL同步的流程大致如下: 1.主服务器(master)将变更事件(更新.删除.表结构改变等等)写入二进制日志(master log). 2.从服务器(slave)的IO线程从主服务器(binl ...
- Zabbix检测Mysql数据库的主从同步
在高并发网站架构中,MySQL数据库主从同步是不可或缺的,不过经常会发生由于网络原因或者操作错误,MySQL主从经常会出现不同步的情况,那么如何监控MySQL主从同步,也变成检测网站正常运行的重要环节 ...
- mysql数据库配置主从同步
MySQL主从同步的作用 .可以作为一种备份机制,相当于热备份 .可以用来做读写分离,均衡数据库负载 MySQL主从同步的步骤 一.准备操作 .主从数据库版本一致,建议版本5.5以上 .主从数据库数据 ...
- MySQL数据库设置主从同步
MySQL主从同步的机制: MySQL同步的流程大致如下: 1.主服务器(master)将变更事件(更新.删除.表结构改变等等)写入二进制日志(master log). 2.从服务器(slave)的I ...
随机推荐
- oracle SQL 执行进度
SELECT SS.USERNAME, SS.SID, SS.SERIAL#, SS.MACHINE, SS.PROGRAM, SL.OPNAME, SL.TARGET, SL.START_TIME, ...
- windows使用.NET CORE下创建MVC,发布到linux运行
1.在有dotnet core 的环境下,打开控制台.创建文件夹demo1 2.创建MVC程序 3.创建完成 4.使用记事本修改一下HomeController 修改端口 5.发布 6.压缩发布的文件 ...
- 【PHP快速入门】 第二节 php基本语法
1.什么地方能写PHP代码? php代码需要写在php标识符内,就是这个东西: 在我们编写一个php程序时,必须要在这个文件里面写上 2.PHP语句要不要加分号? 有的地方要加,有的地方不要加.(似乎 ...
- A2dp sink 初始化流程源码分析
A2dp sink的初始化流程和A2dp 的初始化流程,基本一样,这里做简单分析.这里分析的android的版本是Android O. 我们先从service的启动说起吧. 下面 是启动的时候的log ...
- zookeeper-如何修改源码-《每日五分钟搞定大数据》
本篇文章仅仅是起一个抛砖迎玉的作用,举一个如何修改源码的例子.文章的灵感来自 ZOOKEEPER-2784. 提一个问题先 之前的文章讲过zxid的设计,我们先复习下: zxid有64位,分成两部分: ...
- 一篇 SpringData+JPA 总结
概述 SpringData,Spring 的一个子项目,用于简化数据库访问,支持 NoSQL 和关系数据库存储 SpringData 项目所支持 NoSQL 存储 MongDB(文档数据库) Neo4 ...
- 算法题:合并N个长度为L的有序数组为一个有序数组(JAVA实现)
昨天面试被问到这道算法题,一时没有回答上来,今天思考了一下,参阅了网上的教程,做了一个JAVA版本的实现. 方案一: 新建一个N*L的数组,将原始数组拼接存放在这个大数组中,再调用Arrays.sor ...
- vue开发中regeneratorRuntime is not defined
我的项目是用vue提供的vue-cil脚手架生成的项目,但是当我在项目中使用async/await,编译代码的的时候报了regeneratorRuntime is not defined的错,我查过资 ...
- python-PyQuery详解
PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery 是 Python 仿照 jQuery 的严 ...
- 【问题解决方案】之 jmeter启动报错:Not able to find Java executable or version. Please check your Java installation
故事发生在云计算实验课上-- ** 故事发生在云计算实验课上-- Step 1 在Xshell中登录自己的cloud虚拟机后,<sudo su ->切换到root用户 Step 2 < ...