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 ...
随机推荐
- Python:Day48 Jquery
引用方式: <script src="jquery-3.3.1.js"></script> jQuery就是一个jQuery对象,可以简写成$ 基本语法:$ ...
- Debian系统下实现通过wpa_config连接WPA-PSK加密的Wifi连接
Debian系统下实现通过wpa_config连接WPA-PSK加密的Wifi连接 文章参考:BASST | BLOG : Setting up Wifi - Debian Wheezy 预环境 De ...
- Run Redis
Cmd window enter console Cd\ E: Cd E:\Graduration\Redis\github Run redis for window 64 After cmd ent ...
- Python学习总结 13 Scrapy
当前环境是 Win8 64位的,使用的Python 3.5 版本. 一 安装Scrapy 1,安装 lxml pip install lxml -i https://pypi.douban.com/s ...
- sklearn 数据预处理1: StandardScaler
作用:去均值和方差归一化.且是针对每一个特征维度来做的,而不是针对样本. [注:] 并不是所有的标准化都能给estimator带来好处. “Standardization of a dataset i ...
- JSP报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
今天使用Eclipse+Maven建立了一个Javaweb工程,并在eclipse中配置了Web容器Jboss eap 6.2.新建jsp页面,添加一个简单 的Java类.可是,JSP页面顶端出现“红 ...
- WPF效果(GIS三维篇)
二维的GIS已经被我玩烂了,紧接着就是三维了,哈哈!先来看看最简单的效果:
- EntityFramework Core问题处理集锦(一)
前言 和大家脱离了一段时间,有时候总想着时间挤挤总是会有的,但是并非人愿,后面会借助周末的时间来打理博客,如有问题可以在周末私信我或者加我QQ皆可,欢迎和大家一起探讨,本节我们来讨论EF Core中的 ...
- RabbitMQ 高可用之镜像队列
如果RabbitMQ集群只有一个broker节点,那么该节点的失效将导致整个服务临时性的不可用,并且可能会导致message的丢失(尤其是在非持久化message存储于非持久化queue中的时候).可 ...
- Oracle记录表删除操作简单方法
最近项目中Oracle库中一个表log_gpackage有数据丢失现象,但因为没有启用归档,所以CDC和Dataguard都无法使用.google一下,最简单的方法,增加触发器处理逻辑: ---创建触 ...