Mysql数据库主从同步(复制)热备份
Posted mynale
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql数据库主从同步(复制)热备份相关的知识,希望对你有一定的参考价值。
随着大数据的发展,数据的安全问题日益凸显,往常不被重视的数据库维护变得必不可缺,数据的灾备变成个各大企业/个人站长业务运行中必须重视的环节。上一篇文章提到了自动化备份避灾的几种方案及选择,今天就来实践一下主从/双向异地热备份方案。
mysql数据库同步(复制)的概念,主从同步使得数据可以从一个服务器无缝迁移复制到另一台服务器。这个过程中一台服务器充当主服务器(master),另一台或另外多台充当从服务器(slave)。复制进程I/O是异步进行的,所以服务器不需要一直保持关联的状态。
Mysql数据库的主从同步在现实中应用非常广泛,例如熟知的异地灾备、负载制衡、提升数据库性能、保护源数据安全等等方面均使用到了Mysql数据库的主从同步功能。
主服务器(master)将自己的数据变化以节点的方式记录到一个二进制日志中,从服务器(slave)的I/O线程通过主服务器授权的账户查询日志节点,写入到自身的中继日志,SQL线程读取中继日志中的数据变化节点与自己的数据库日志对比,若主服务器(master)发生变化则自身跟进重放执行写入自己的数据库,若节点未变化则进入休眠状态,等待主服务器(master)的数据节点变化。
master主服务器:45.32.250.228
slave从服务器:108.160.131.26
两台服务器的系统环境必须相同,数据库版本必须相同,这里我采用了Mysql 5.7 的版本,这个版本在当先还是主流服务器数据库版本,非常实用。
修改主服务器(master)的数据库配置文件my.cnf,这个文件一般路径为/etc/my.cnf
实用vi /etc/my.cnf在其中主服务器(master)数据库配置文件中添加如下代码:
log-bin=mysql-bin为开启二进制日志,server-id=1为服务器唯一ID,具有唯一性不可重复,binlog-do-db为需要同步(复制)的数据库名称,binlog-ignore-db=nosql为同步(复制)时排除在外的服务器,log-bin=/var/lib/mysql/binlog为指定日志文件,如果主数据服务器启动失败,通过cat /var/log/mysqld.log | tail -30 查看mysql启动失败的日志,从日志内容寻找解决方案,log-slave-updates=YES为从服务器同步以后记录日志。
配置完成后service mysqld restart重启mysqld进程。
添加用于链接主服务器数据库的授权账户,用户名:master 密码:master-password
允许服务器108.160.131.26进行访问。
REPLICATION?SLAVE权限为:向从服务器(slave)数据库请求做出应答。
通过mysql命令以root账户登录主服务器(master)数据库,mysql -uroot -p,输入密码登录数据库服务器,执行SHOW?MASTER?STATUS;
我们可以看见要使用到的二进制文件mysql-bin.000003,数据位置节点73,指定同步的数据库testsql,同步时排除的数据库nosql。
配置的过程种?Binlog_Do_DB和Binlog_Ignore_DB我们基本只需要选择一项就可以了。
同样需要先修改数据库服务器配置文件vi? /etc/my.cnf,添加如下代码
server-id=2表示从服务器salve的服务器id,具有唯一性这一点必须注意,replicate-do-db为需要同步的数据,replicate-ignore-db=nosql 同步时排除的数据库。
通过mysql命令以root账户登录主服务器(master)数据库,mysql -uroot -p,输入密码登录数据库服务器,将主服务器提供的授权账户导入为slave账户
这里我们用到了主服务器提供的授权账户master,二进制文件mysql-bin.000003,数据节点编号73.
然后执行show slave status\G;查看同步状态
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
这两项正确表示完成数据库的对接工作,同步(复制)线程正在工作中,Waitin for master to send event...表示从数据库slave正在等待主数据库master更新数据。
数据库主从同步我已经配置按成了,出于好奇我将主从颠倒过来再配置以此居然发现形成了双主服务器热同步,这样就可以为两段都需要有修改权限的业务营造了一个高效的环境。
利用主从同步可以一主多从的特点,我们还可以将数据库进行多种形式多种架构的组合使用,以达到让业务运行更加高效安全的效果。
参考文章:https://blog.csdn.net/hguisu/article/details/7325124
以上是关于Mysql数据库主从同步(复制)热备份的主要内容,如果未能解决你的问题,请参考以下文章