mysql5.6数据库双机热备、主从备份
主题:mysql5.6数据库双机热备、主从备份
缘由:
在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一。尤其是在大规模系统中,数据库集群已经成为必备的配置之一。集群的好处主要有:查询负载、数据库复制备份等。其中Master负责写操作的负载,也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。这样一来的可以大大提高读取的效率。写操作涉及到锁的问题,不管是行锁还是表锁还是块锁,都是比较降低系统执行效率的事情。我们这样的分离是把写操作集中在一个节点上,而读操作其其他的N个节点上进行,从另一个方面有效的提高了读的效率,保证了系统的高可用性。——就不多说了,网上千篇一律,这段也是摘抄并整理的。
环境:
操作系统:WIndows7
数据库:mysql5.6,并确保数据库是启动成功的。
PC机或服务器:2台(假设分别命令为master服务器和slave服务器,这两台电脑相互可通信),环境均为以上配置。
主过程:
1、在master服务器配置mysql的my.ini文件中最小配置3个参数
2、在slave服务器中最小配置2个参数
3、完成之后在master服务器建立账号并做slave行为赋权,在slave服务器设定master行为赋权。
4、同步数据库。
5、开启slave服务器的slave服务。
其实做之前觉得复杂,其实就这几个步骤,操作之后就会觉得so easy.
具体过程:
注意事项:
1、关于参数中的横线及下划线:server-id或server_id一样,使用横线或下划线是一样的。
2、关于my.ini的位置:如果是WINDOWS操作系统,从控制面板中打开服务,找到mysql服务,从服务器属性中可以看到my.ini的具体位置,别以为在默认的mysql文件夹的mydefault就是,不一定,我就是犯了这个错误,配置半天发现都无效,最后从服务中看到my.ini在C:\ProgramData\MySQL\MySQL Server 5.6/my.ini这个位置。
1、在master服务器配置mysql的my.ini文件中最小配置3个参数
server-id=1 #这是数据库ID,此ID是唯一的,ID值不能重复,否则会同步出错,值区间为1-32.
log-bin = mysql-bin#二进制日志文件,此项为必填项,否则不能同步数据;如果不取名字的话,那么就会以 计算机的名字加编号来命名二进制文件;
binlog-do-db = masters#需要同步的数据库,如果还需要同步另外的数据库,那么继续逐条添加,如果 不写,那么默认同步所有的数据库;
binlog-ignore-db = mysql 不需要同步的数据库;
以上参数设定好之后输入命令show master status,如果以上配置都成功就会出现一个列表,请记录里面的file和position参数。
2、在slave服务器中最小配置2个参数
从数据库的话只需要配置server-id,binlog-do-db,binlog-ignore-db即可。
serverid需要和master服务器的区分开,binlog-do-db,binlog-ignore-d的参数需要和主服务器一致。
3、完成之后在master服务器建立账号并做slave行为赋权,在slave服务器设定master行为赋权。
1、在master服务器主数据库添加同步账号,这个账号用于salve服务器用这个账号登录master服务器并读取bin-log文件同步数据用,执行如下命令:
命令格式:grant replication slave on *.* to '用户名称'@'SLAVE服务器地址' identified by '用户密码';
例如执行:grant replication slave on *.* to 'slave'@'%' identified by 'slave';
2、在slave服务器设定同步账号,这个账号用于salve服务器用这个账号登录master服务器并读取bin-log文件同步数据用,执行如下命令:
mysql> change master to
-> master_host='master服务器IP',
-> master_user='master服务器设定的同步用户',
-> master_password='master服务器设定的同步用户密码',
-> master_log_file='上面我们提到的master服务器看到的file名称',
-> master_log_pos=上面我们看到的master服务器看到的position参数;
4、同步数据库。
一切就绪,只欠东风!现在需要我们在同步之前把两台服务器的数据库做一下同步,并且确保master服务器这期间是不被写入和更改数据的。
网上有很多锁库然后备份,完事在解锁的方式,就不多介绍了,我自己用的是navicat,直接在slave服务器建立一个库,库名和master服务器一致,然后打开master服务器这个库 拷贝所有表,粘贴到slave这个库上就可以了,比较简单而且快。
5、开启slave服务器的slave服务即可。
在slave服务器执行slave start命令,启动服务。
验证是否同步:
执行show slave status\G;
slave_io_running和slave_sql_running两个参数均为YES就可以了。
这时候随便你更改master上的这个数据库,都可以看到slave服务器的数据库被同步了。
mysql5.6数据库双机热备、主从备份的更多相关文章
- MySQL数据库双机热备------主-主备份配置
MySQL数据库双机热备------主-主备份配置 实验环境: 主1数据库 192.168.1.1 centos6.5 x86_64 +MySQL5.5.35 主2数据库192.168.1.2 Wi ...
- Nginx+Keeplived双机热备(主从模式)
Nginx+Keeplived双机热备(主从模式) 参考资料: http://www.cnblogs.com/kevingrace/p/6138185.html 双机高可用一般是通过虚拟IP(漂移IP ...
- Nginx+keepalived双机热备(主从模式)
简单介绍: Keepalived是Linux下面实现VRRP备份路由的高可靠性运行软件,能够真正做到 主服务器和备份服务器故障时IP瞬间无缝交接; Keepalived的目的是模拟路由器的高可用; H ...
- Nginx+keepalived 高可用双机热备(主从模式)
环境:centos7.6 最小化安装 主:10.11.1.32 从:10.11.1.33 VIP:10.11.1.130 修改主节点主机名: hostnamectl set-hostname web_ ...
- MySQL5.7.15数据库配置主从服务器实现双机热备实例教程
环境说明 程序在:Web服务器192.168.0.57上面 数据库在:MySQL服务器192.168.0.67上面 实现目的:增加一台MySQL备份服务器(192.168.0.68),做为MySQL服 ...
- MySQL7.5.15数据库配置主从服务器实现双机热备实例教程
环境说明 程序在:Web服务器192.168.0.57上面 数据库在:MySQL服务器192.168.0.67上面 实现目的:增加一台MySQL备份服务器(192.168.0.68),做为MySQL服 ...
- MySQL数据库配置主从服务器实现双机热备
转自:http://www.cnblogs.com/cchun/p/3712637.html 一.安装MySQL 说明:在两台MySQL服务器192.168.21.169和192.168.21.168 ...
- Centos7 Mysql主从双机热备的实战记录
操作系统:centos7 服务器:主:172.19.242.69 从:172.19.242.70 1. 服务器 由于Mysql不同版本之间的(二进制日志)binlog格式可能会不太一样,因此最好的 ...
- MySQL架构备份之双机热备
M--S架构:实现双机热备(AB复制) 1.可以降低master读压力 2.可以对数据库做“热备”,热备只能解决硬件master硬件故障,软件故障等重大故障问题,但无法解决人为误操作导致的逻辑故障(列 ...
随机推荐
- gitlab的本地搭建和部署使用
公司现在的代码管理是在公司的服务器上部署了gitlab,这样既方便协同开发,有可以很好的保护代码的安全性. 那么我们就来研究一下 如何给自己的服务器上部署gitlab吧! 学习源头:https://w ...
- Spring启动后获取所有拥有特定注解的Bean,注解的属性值
最近项目中遇到一个业务场景,就是在Spring容器启动后获取所有的Bean中实现了一个特定接口的对象,第一个想到的是ApplicationContextAware,在setApplicationCon ...
- python开发进程:互斥锁(同步锁)&进程其他属性&进程间通信(queue)&生产者消费者模型
一,互斥锁,同步锁 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的, 竞争带来的结果就是错乱,如何控制,就是加锁处理 part1:多个进程共享同一打印终 ...
- maven学习0 常用命令学习
mvn clean install -Dmaven.test.skip=truemaven的package与install命令区别: package是把jar打到本项目的target下,而instal ...
- hibernate缓存机制详细介绍
hibernate的缓存机制,包括一级缓存(session级别).二级缓存(sessionFactory级别). 一:hibernate的 N+1问题 list()获得对象: 如果通过list()方法 ...
- Deep Learning 学习笔记(4):Logistic Regression 逻辑回归
逻辑回归主要用于解决分类问题,在现实中有更多的运用, 正常邮件or垃圾邮件 车or行人 涨价or不涨价 用我们EE的例子就是: 高电平or低电平 同时逻辑回归也是后面神经网络到深度学习的基础. (原来 ...
- Vue 简单的总结四(项目流程,DIY脚手架、vue-cli的使用)
项目流程 1.下载 cdn 2.引包 vue-router依赖vue vue-router.js 3.如果是模块化机制 Vue.use(vue-router) 4.创建示例 let Home = {/ ...
- easyUI datagrid表格添加“暂无记录”显示
扩展grid的onAfterRender事件 var myview = $.extend({}, $.fn.datagrid.defaults.view, { onAfterRender: f ...
- leetcode709
string toLowerCase(string str) { transform(str.begin(), str.end(), str.begin(), ::tolower); return s ...
- OGG for sqlserver engryption && insert/delete
OGG for sqlserver engryption && insert/delete 1. 源端操作 1.1 获取key 作为数据库用户密码加密 d:\GoldenGate\gg ...