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 ...
随机推荐
- 手动设定统计数据 set_table_stats
PROCEDURE SET_TABLE_STATS Argument Name Type In/Out Default? ------------------------------ -------- ...
- Generative Adversarial Nets[Improved GAN]
0.背景 Tim Salimans等人认为之前的GANs虽然可以生成很好的样本,然而训练GAN本质是找到一个基于连续的,高维参数空间上的非凸游戏上的纳什平衡.然而不幸的是,寻找纳什平衡是一个十分困难的 ...
- LOJ2527 HAOI2018 染色 容斥、生成函数、多项式求逆
传送门 调了1h竟然是因为1004535809写成了998244353 "恰好有\(K\)种颜色出现了\(S\)次"的限制似乎并不容易达到,考虑容斥计算. 令\(c_j\)表示强制 ...
- CF1103D Professional layer 状压DP
传送门 首先对于所有数求gcd并求出这个gcd含有的质因子,那么在所有数中,只有这一些质因子会对答案产生影响,而且对于所有的数,每一个质因子只会在一个数中被删去. 质因子数量不会超过\(11\),所以 ...
- jumpserver安装
一. 准备 Python3 和 Python 虚拟环境 1.1 安装依赖包 yum -y install wget sqlite-devel xz gcc automake zlib-devel o ...
- Luogu P3783 [SDOI2017]天才黑客
题目大意 一道码量直逼猪国杀的图论+数据结构题.我猪国杀也就一百来行 首先我们要看懂鬼畜的题意,发现其实就是在一个带权有向图上,每条边有一个字符串信息.让你找一个点出发到其它点的最短路径.听起来很简单 ...
- IntentService解析
IntentService中内置了一个HandlerThread,能够对数据进行处理.相比于普通的Service,IntentService有以下优点: 1. 不用在Service创建线程. 2. 不 ...
- wpf、winform仿QQ靠边隐藏
先说下下面的代码和demo是wpf的,如果winform要用,改动不大的. 实现思路: 通过定时刷新鼠标位置 和 窗体坐标 进行计算 来控制窗体的隐藏 显示 代码都有详细的注释 //窗体状态 true ...
- 【Java并发.6】结构化并发应用程序
6.1 在线程中执行任务 应用程序提供商希望程序支持尽可能多的用户,从而降低每个用户的服务成本,而用户则希望获得尽可能快的响应.大多数服务器应用程序都提供了一种自然的任务边界选择方式:以独立的客户请求 ...
- 最全的Django入门及常用配置
Django 常用配置 Django 安装 pipx install django x 为python解释器版本2 or 3 如果你想安装指定版本的django,使用pip install djang ...