mysql同步数据库的方法(无需手动锁表)

发布时间:2020-09-11编辑:脚本学堂
本文介绍了mysql下同步数据库的方法,如何不手动锁表也可以同步数据,需要的朋友参考下。

首先,确保系统安装有perl-DBD-mysql
 

复制代码 代码示例:
yum install perl-DBD-mysql

第二步,安装xtrabackup
xtrabackup 2.1以后的版本不支持innodb引擎,因此需要下载2.0.*的版本。
 

复制代码 代码示例:
wget http://www.percona.com/downloads/xtrabackup/xtrabackup-2.0.7/rpm/rhel5/x86_64/percona-xtrabackup-2.0.7-552.rhel5.x86_64.rpm

执行 rpm –ivh percona-xtrabackup-2.0.7-552.rhel5.x86_64.rpm很容易就安装好所需的包。

第三步,开始执行备份:
1、确保源数据库处于启动状态 (www.jb200.com 脚本学堂)
2、执行指令
 

复制代码 代码示例:
innobackupex --user=yourDBuser --password=MaGiCdB1 --defaults-file=/etc/my.cnf <备份目录>
 

备份目录是任意足够大的分区

3、检查备份目录,是否产生数据

第四步,压缩和传输文件
1、tarczvf backdir.gz backup
2、scpbackdir.gz ip:/dir

第五步,恢复数据(在目标数据库执行)
1、cd dir
2、tar xvzf backdir.gz
3、确保 /etc/my.cnf文件有行 datadir=dir
4、确保数据库目录为空
5、执行 innobackupex --apply-log <备份目录>
6、执行 innobackupex --copy-back --defaults-file=/etc/my.cnf <备份目录>

第六步,数据同步
1、启动mysql
2、执行 mysql主从同步