MySQL数据库备份与还原脚本说明.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.完整备份1.1备份方法

MySQL 数据库备

份脚本说明

****网络科技(上海)有限公司

采用免费工具MySQLhotcopy ,直接拷贝数据库文件(*.FRM ,*..MYD ,

*MYI )。在进行拷贝文件时,

会锁定需要进行备份的数据库,加上读锁。然后执行

flush tables 把缓存在内存里 的修改写入硬盘上的数据库文件,最后把备份的数据库文件复制下来。此过程, 可能会造成玩家数据丢失,但是会比使用

mysqldump 等备份方法速度快,锁定 表时间少,从而能最大限度地降低数据丢失的情况。 1.2脚本说明

完整脚本备份文件名称:fullybacku p.sh ,存放目录:/back

需要先创建一个目录back 用来存放备份文件,也可以进行修改为其他目录,则需 要对脚本中的backdir 值修改;所属组:root ;拥有者:root 。脚本参数: backdir 备份文件存放的路径(第一次运行该脚本时会自动创建)

为数据库服务器名称;dbname 为数据库名称; --为admin 帐号登陆数据库的密码; ■备份脚本自己的日志,记录脚本运行与结束时间信息; --为数据库服务器帐号,若需要使用其他帐号的请修改:

/usr/local/mysql/b in/mysqlhotc opy $db name --flushlog -u adm in -p

$root pass $backdir | logger -t mysqlhotcopy 把-u admin 中的admin 改为具有读取数据库文件的数据库 服务器帐号,即可!

1.3备份文件存放结构

以备份服务器 ccxydata_test 中的数据库 eugene 为例:/back/mysql/ccxydata_test- 07-07-01.tgz,而目录eugene 之下才是备份过来的文件:*.frm 、*.MYD 、

*.MYI ,以及 db.opt 。

若备份文件一直存放在数据库服务器的话,脚本会自动检测存放的备份文件,根 据设置的删除时间,删

1.4其他说明

除存放的备份文件。目前是设置删除 30天之前的备份文件,也可以执行修改,

只需要修改:for d in 'find . -ty pe d -mtime +30 -maxde pth 1' 把 30 改为您所要设置 的数字即可。

没有提供数据库备份文件压缩传送功能,可以使用 ftp 命令把备份文件定期传送 到指定的服务器上,建议Linux 安装完后,系统需要再安装 Perl-DBD-mysql 组件

(Linux 安装时,会自动安装 Perl5.8组件,但是这Linux 自带的perl-DBD- mysql ,需要安装mysql3.23客户端才能继续安装该组建,而由加密等问题,我们 传送脚本另外server --------

p assword ----

mysqlbak.log

admin --------

写,并且在玩家很少的时候,进行文件传送操作。

个组件不会自动安装),用于支持Mysqlhotcopy工具。

一般情况会卸载低版本的mysql。 Perl-DBD-mysql组件版本:DBD-mysql-

2.9005,源码压缩包:DBD-mysql-2.9005.tar.gz,编译安装步骤:# tar zxvf DBD- mysql-2.9005.tar.gz #cd DBD-mysql-2.9005 #ex port LANG=C

#perl Makefile .PL -mysql_c on fig=/usr/local/mysql/b in/mysql_c onfig #make ; make in stall

2013-9-10 MySQL数据库备份脚本说明

f Online Enl&rtalnment

匕口

Page 1 of 3

2.日志备份2.1备份方法

采用MySQL自带的管理工具mysqladmin和文件拷贝命令,进行日志文件备份。只是在刷新日志的时候,

完整脚本备份文件名称:in creme ntbacku p.sh,存放目录:/back

需要先创建一个目录back用来存放备份文件(注:若在完整备份时已创建该目录,则不需要再重复创建),会短暂地锁定数据库表,发生数据丢失的几率很小。

2.2脚本说明

也可以进行修改为其他目录,则需要对脚本中的backdir值修改;所属组:root;

拥有者:root。脚本参数:server -------------------- 为数据库服务器名称;

测试目录为:/usr/local/mysql/var;

logfile --------------- 为数据库服务器存放日志的文件路径,安装目录不同则需要修

改Password ----------- 为admin帐号登陆数据库的密码;backdir --------------- 日志

备份文件存放路径

admin -------------------- 为数据库服务器帐号,若需要使用其他帐号的请修改:

/usr/local/mysql/b in/mysqladm in -u adm in -p $root pass flush-logs

把-u admin中的admin改为具有读取数据库文件的数据库服务器帐号,即可!另外:测试的日志文件格式为:mysql-bi n.00001若不一样则需要修改两行脚本

(替换掉mysql-bin 1> total仁'Is $logfile/mysql-bin.*|wc -I'

2> for f in 'ls $logfile/mysql-bi n.*|head -n $total'

即可):

2.3备份文件存放结构

相关文档
最新文档