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 ...
随机推荐
- 通俗易懂的php多线程解决方案
我们在做项目的时候,有些需求,特别是数据的响应处理需要花费大量的时间,由于php是一个短生命周期的脚本语言,到了默认的30秒,php的数据处理还没完成,php的生命周期就结束了.这时需要使用异步并发处 ...
- 007_Python中的__init__,__call__,__new__
__init__函数 当一个类实例被创建时, __init__() 方法会自动执行,在类实例创建完毕后执行,类似构建函数.__init__() 可以被当成构建函数,不过不象其它语言中的构建函数,它并不 ...
- Ubuntu下的 PPPoE 拨号上网方法
1. 配置 pppoe $ sudo pppoeconf 2. 联网 $ sudo pon dsl-provider 3. 断网 $ sudo poff 4. 查看日志 $ plog 5. 查看接口信 ...
- robotframework添加自定义的API,在Lib\site-packages路径下放入写好的py文件。
其格式有要求,但不明白为什么 import os.pathimport subprocessimport sys class LoginLibrary(object): def __init__(se ...
- Libinput 1.13 RC2发布
Red Hat的Peter Hutterer周四宣布发布libinput 1.13 RC2,作为X.Org和Wayland Linux系统使用此输入处理库的最新测试版本. Libinput 1.13将 ...
- mongo中游标
1.手动循环访问游标 mongo中我们常用的查询方式db.collection.find()方法其实返回的就是游标,只不过我们并未给返回的游标分配变量,我们所看到的的查询数据也就是游标自动迭代得出的( ...
- 洛谷 P2404 自然数的拆分问题
题目链接 https://www.luogu.org/problemnew/show/P2404 题目背景 木有...... 题目描述 任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和. ...
- face recognition[angular/consine-margin-based][L2-Softmax]
本文来自<L2-constrained Softmax Loss for Discriminative Face Verification>,时间线为2017年6月. 近些年,人脸验证的性 ...
- 通过 JS 脚本去除csdn广告
1. chorme 浏览器 1.1 通过书签方式添加 新建书签: 在网址一栏中输入: javascript: $(function () { $('aside .csdn-tracking-stati ...
- vim 正则非贪婪模式
比如多匹配使用 .* 效果自然是贪婪模式,JS 的非贪婪很简单,是 .*? 即可,而 vim 不同,语法是 .\{-},注意 \ 转义.