怎样实现MySQL数据库双机热备份 MySQL数据同步

怎样实现MySQL数据库双机热备份 MySQL数据同步,第1张

还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现MySQL数据库的热备份。 2、要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备MySQL的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。 3、设置主数据库服务器: a.首先查看主服务器的版本是否是支持热备的版本。然后查看my.cnf(类Unix)或者my.ini(Windows)中MySQLd配置块的配置有没有log-bin(记录数据库更改日志),因为MySQL的复制机制是基于日志的复制机制,所以主服务器一定要支持更改日志才行。然后设置要写入日志的数据库或者不要写入日志的数据库。这样只有您感兴趣的数据库的更改才写入到数据库的日志中。 server-id=1 //数据库的id这个应该默认是1就不用改动 log-bin=log_name //日志文件的名称, //这里可以制定日志到别的目录 如果没有设置则默认主机名的一个日志名称 binlog-do-db=db_name //记录日志的数据库 binlog-ignore-db=db_name //不记录日志的数据库以上的如果有多个数据库用","分割开 然后设置同步数据库的用户账号 MySQL>GRANT REPLICATION SLAVE ON *.* ->TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass'4.0.2以前的版本, 因为不支持REPLICATION 要使用下面的语句来实现这个功能 MySQL>GRANT FILE ON *.* ->TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass'设置好主服务器的配置文件后重新启动数据库 b.锁定现有的数据库并备份现在的数据 锁定数据库 MySQL>FLUSH TABLES WITH READ LOCK备份数据库有两种办法一种是直接进入到MySQL的data目录然后打包你需要备份数据库的文件夹,第二种是使用MySQLdump的方式来备份数据库但是要加上"--master-data " 这个参数,建议使用第一种方法来备份数据库

1.主服务器:

#Master start

log-bin="d:/log/mysql/mysql_log_bin"

server-id=1

 #Master end

2.从服务器:

#Slave start

log-bin="D:/log/mysql2/log-bin.log"

relay_log="D:/log/mysql2/relay-log-bin"

#从机id,区别于主机id

server-id=2

#主机ip,供从机连接主机用

#master-host=localhost

#主机端口

#master-port=3300

#刚才为从机复制主机数据新建的账号

#master-user=slave

#刚才为从机复制主机数据新建的密码

#master-password=654321

#重试间隔时间10秒

#master-connect-retry=10

#需要同步的数据库

#replicate-do-db=test

#启用从库日志,这样可以进行链式复制

log-slave-updates

#从库是否只读,0表示可读写,1表示只读

read-only=1

#只复制某个表

#replicate-do-table=tablename

#只复制某些表(可用匹配符)

#replicate-wild-do-table=tablename%

#只复制某个库

#replicate-do-db=dbname

#不复制某个表

#replicate-ignore-table=tablename

#不复制某些表

#replicate-wild-ignore-table=tablename%

#不复制某个库

#replicate-ignore-db=dbname

#Slave end

3.对从服务器制定主服务器使用CHANGE MASTER 语句

注意:1.一定要在主服务器上创建一个可以执行replication的用户

2.该用户名在从服务器上可远程登录到主服务器。

3.开启MySQL的log-bin日志功能

实现两个Mysql数据库之间同步同步原理:

MySQL

为了实现replication

必须打开bin-log

项,也是打开二进制的MySQL

日志记录选项。MySQL

的bin

log

进制日志,可以记录所有影响到数据库表中存储记录内容的sql

*** 作,如insert

/

update

/

delete

*** 作,而不记录

select

这样的 *** 作。因此,我们可以通过二进制日志把某一时间段内丢失的数据可以恢复到数据库中(如果二进制日

志中记录的日志项,包涵数据库表中所有数据,那么,

就可以恢复本地数据库的全部数据了)。

而这个二进制日志,

如果用作远程数据库恢复,那就是replication

了。这就是使用replication

而不用sync

的原因。这也是为什么要设

置bin-log

=

这个选项的原因。

在同步过程中,最重要的同步参照物,就是同步使用那一个二进制日志文件,从那一条记录开始同步。下面就介绍

下怎样实现两个Mysql数据库之间的主从同步。

一、

概述

MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步、主从模式、

互相备份模式的功能。本文档主要阐述了如何在linux系统中利用mysql的replication进行双机热备的配置。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6177260.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存