安装mydumper多线程快速备份恢复MySQL数据库_金山手

日期:2014-07-13 / 人气: / 来源:网络

       公司的数据库服务器一直裸跑着,也木有备份机制啥的,一旦发生故障后果不堪设想。以前公司看到那些DBA都是用自带的mysqldump来备份的,这个工具只有单线程,碰到数据量比较大的时候备份窗口太久了,影响了其他脚本的运作时间跟效率。不过还好看到了mydumper这个多线程备份工具,试了试还是不错的。所以拿上来分享一下。。。

       因为公司用的都是ubuntu的系统,所以我下列的操作都是基于ubuntu系统执行的,不过linux系统使用基本互通,嘿嘿。。。

        废话不说了,开始安装吧:

1、先安装cmake,因为这个软件要用cmake编译

# apt-get install cmake

2、接下来安装mydumper兼容包,这个很关键,因为根据官网文档,centos/redhat等其他系统需要的包名是不同的,可根据实际系统去查阅官网资料:
# apt-get install libglib2.0-dev libmysqlclient15-dev zlib1g-dev libpcre3-dev

3、下载源码安装包:

#wget http://launchpad.net/mydumper/0.2/0.2.3/ download/mydumper-0.2.3.tar.gz

4、解压包

#tar xzvf mydumper-0.2.3.tar.gz

5、进入解压目录,准备开始安装
#cd mydumper-0.2.3/

6、用cmake进行编译,注意后面有个字符"."(其实就是英文的句号),别落下了啊
#cmake .

7、安装
#make
#make install

到这里就已经安装完毕了。

接下来就可以开始利用这个来备份数据库了:

以下是我平时备份的脚本,因为机器性能问题,只启用了8线程备份,可自行根据实际情况适当增减

mydumper --kill-long-queries -u root -B dbname -T db-tables-name -p 'password' -v 2 -c -t 8 --outputdir=/home/backup/20120615/

下面是各项常用参数解释:

�Chost, -h 连接的mysql服务器
�Cuser, -u 用户备份的连接用户
�Cpassword, -p
�Cport, -P 连接端口
�Csocket, -S 连接socket文件
�Cdatabase, -B 需要备份的数据库
�Ctable-list, -T 需要备份的表,用,分隔
�Coutputdir, -o 输出的目录
�Cbuild-empty-files ,-e 如果表数据是空,还是产生一个空文件,默认无数据则只有表结构文件
�Cregex, -x 支持正则表达式,如mydumper �Cregex ’^(?!(mysql|test))’
�Cignore-engines, -i 忽略的存储引擎
�Cno-schemas, -m 不导出表结构
�Clong-query-guard 长查询,默认60s,超过则通过mydumper
�Ckill-long-queries, -k 可以设置kill长查询
�Cverbose, -v 0 = silent, 1 = errors, 2 = warnings, 3 = info,默认是2
�Cbinlogs, -b 导出binlog
�Cdaemon, -D 启用守护进程模式
�Csnapshot-interval, -I dump快照间隔时间,默认60s
�Clogfile, -L mysqldumper日志输出,一般在Daemon模式下使用

恢复备份的话配套使用myload命令来实现:

例句:

  myloader -d /home/backup/20120615/ -o -B dbname  -u root -p 'passwd' -t 4 &


myloader 大多参数和mydumper一样
�Cdirectory, -d 要还原的数据目录
�Coverwrite-tables, -o Drop any existing tables when restoring schemas


随后附上自动备份脚本。。。

使用计划任务定时自动备份远程MySQL数据库

通常,站长们都没有自己的服务器,每天都要手动备份数据库那也很麻烦。这里推荐一个方法,利用windows的计划任务来实现。前提:本地机器上装有mysql服务。假设本地机器上mysql服务目录 d:mysql假设远程数据库地址:111.0.0.111假设远程数据

MySQL安装,MySQL备份

作者:管理员




现在致电4006-2991-90 OR 查看更多联系方式 →

Go To Top 回顶部