MySQL数据库备份与还原脚本说明.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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备份文件存放结构