msql主从复制
Mysql数据库主从复制原理:
主库开启bin-log日志,同时生成IO线程。IO线程负责将用户写入数据库的sql语句记录在二进制日志bin-log,该记录过程可并发进行;生成标识号 server id ;创建主从复制账号。
从库不需要开启bin-log日志,开启主从复制后,从库将产生一个IO线程,从库IO线程监控主库bin-log日志,当bin-log 日志发生变化时,从IO线程将会通过3306端口向主IO线程申请验证,进行数据交换,具体验证信息:1 主库IP和端口号、2 主库的复制账号和密码、3 所要复制的bin-log日志的文件名、4 文件中position具体位置。验证通过后主IO线程将对应的内容复制给从IO线程,该过程可以并发进行。此时从库文件master.info 记录了验证信息和完成数据交换的bin-log日志文件及文件中的位置信息。从库IO线程将内容放在从库中继日志relay-log中。SQL线程启动,查看relay-log ,将其中更新的二进制语句编译解析成sql语句,存储在从库的mysql data 目录中,并在relay-log.info文件中记录sql进程解析relay-log的文件名及位置信息,完成主从复制。
主从备份搭建
试验环境:master: 1922.168.200.151 slave : 192.168.200.129
一、 建立时间同步环境
l Master:安装配置ntp时间同步服务
#yum –y install ntp
#cp /etc/ntp.conf /etc/ntp.conf.origin
#vim /etc/ntp.conf
22 server 127.127.1.0 //手动添加
23 fudge 127.127.1.0 startum 8 //手动添加

#/etc/init.d/ntpd start
#chkconfig ntpd on
l Slave :
# yum –y install ntpdate
#ntpdate 192.168.200.151

二、 在master上执行操作配置
1、 1.1开启bin-log日志,并设置server-id 值
# vim /etc/my.cnf

**上面三个参数要放在[mysqld]模块下;添加参数并不能重复
#/etc/init.d/mysqld start

1.2登陆数据库,检查参数的更改情况


2、 建立主从复制账号(权限为允许从库连接并同步数据)
2.1登陆数据库,建立主从复制账号yunjisuan
#mysql –uroot –p123123
>grant replication slave on *.* to ‘yunjisuan’@‘192.168.200.129’identified by ‘yunjisuan123’;

注:replication slave 为mysql同步的必须权限,此处不要授予all权限
>flush privileges;
2.2检查创建的账号
>select user,host from mysql.user;

3、 对主库锁表全备份
3.1对主数据库锁表只读
>flush table with read lock; //零时锁表,超过设置时间,将会自动解锁

3.2 锁表后查看主库状态。可通过当前bin-log日志文件名和bin-log日志偏移量来查看
注:show master status 命令显示信息要记录在案,后面从库导入全备后,继续和主库复制是要从这个位置开始。
> show master status;

3.3新开一个SSH窗口,全备数据库数据

3.4 解表主库
>unlock tables;
3.5 将全备数据推送到从库

三、 配置从服务器
1.1 将全备份数据导入从库
#mysql –uroot –p123123 < /temp/mysql_all*
2.2#vim /etc/my.cnf

#/etc/init.d/mysqld start
2.3 给从库记录主从复制验证信息

2.4启动从库主从复制开关,并查看复制状态


导致lave_IO_Running 为connecting 的原因主要有以下 3 个方面:网络不通;
密码不对;pos不对
经排查是秘密输错了,再次>show slave status\G;

msql主从复制的更多相关文章
- MySQL多数据源笔记1-MySQL主从复制
1.为什么要做主从复制? 1.在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出 ...
- maria(mysql)的主从复制
一.mariadb的基本操作 1.远程连接 mysql -uroot -p -h 127.0.0.1 mysql -uroot -p -h 192.168.226.128 2.赋予远程连接的权限 gr ...
- MYSQL5.7进阶之主从复制
主从复制是msql数据库的高可用 读写分离 容灾备份 等的基本要求 在这主从复制之前我们需要准备以下条件 保证master数据库和从数据库的mysql版本一致 matser和从数据防火墙关闭 数据库端 ...
- MySQL 系列(四)主从复制、备份恢复方案生产环境实战
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- [原]Redis主从复制各种环境下测试
Redis 主从复制各种环境下测试 测试环境: Linux ubuntu 3.11.0-12-generic 2GB Mem 1 core of Intel(R) Core(TM) i5-3470 C ...
- MySQL+Amoeba实现数据库主从复制和读写分离
MySQL读写分离是在主从复制的基础上进一步通过在master上执行写操作,在slave上执行读操作来实现的.通过主从复制,master上的数据改动能够同步到slave上,从而保持了数据的一致性.实现 ...
- Redis主从复制
大家可以先看这篇文章ASP.NET Redis 开发对Redis有个初步的了解 Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此 ...
- MySQL主从复制(Master-Slave)实践
MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展.多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能. 下图就描述了一个多个数 ...
- 2.快速部署MySQL主从复制
1.快速部署MySQL主从复制 [root@mysql ~]# mysql -uroot -p123456 -S /data/3307/mysql.sock -e "show slave ...
随机推荐
- winRAR显示树树目录
这样 比较方便
- Microsoft Word 2007 向程序发送命令时出现问题解决方法
最近在打开Word文档时总是出现“向程序发送命令时出现问题”对话框,而且不确定性,关闭重新打开有时没事了有时还不行, 很让人头疼,经过尝试,把问题解决了 1.问题截图如下: 2.解决方法 1)方法一: ...
- 071——VUE中vuex之使用getters计算每一件购物车中商品的总价
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python 安装 scapy windows 10 64bit
简介: 前段时间装的pypcap做嗅探.打包受阻.因为我都是在windows做的.也要打包到exe给别人用. 所以尝试了一下scapy,也可以嗅探,貌似功能更强大.先用sniff吧. 这个也不是在ve ...
- html form method 属性不支持put,delete请求方式,以及开启spring mvc的rest的方式
1.加上隐藏域解决form method 不支持put,delete的请求方式的问题 2.配置spring mvc HiddenHttpMethodFilter过滤器实现对put和delete请求方式 ...
- C++中的数据存储方式自动存储、静态存储和动态存储
C++中变量存储方式有三种,自动存储,静态存储,动态存储 自动存储简单意义上就是在函数内不用任何关键字直接定义的变量,它在函数被调用时被创建,在函数退出时自动消失, 静态存储顾名思义就是在程序的整个运 ...
- iOS ipv6 被拒
1.检查你所用到的库,像af 3.0以上什么的(不用改),其他的库自己去搜下是否支持ipv6吧. 2.确保你用的sdk支持ipv6,这个自己去看文档就行. 3.终端 dig +nocmd + nos ...
- 使用Mockito时遇到的一些问题
最近在使用Mockito时遇到了几个比较tricking的问题,在这里记录一下. 1.如果方法的参数或者返回类型是泛型通配符相关的(如<?>,<? extends XXX>), ...
- Sysinternals Suite 2014.08.18
Windows Sysinternals Suite 是一套由微软官方免费提供的系统工具集,其中包含了大量超级实的优秀绿色小软件,譬如 Desktops (虚拟桌面).Process Explorer ...
- Iterator、Iteratable与ListIterator
Iteratable: public interface Iterable<T> { Iterator<T> iterator(); default void forEach( ...