首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>mysql>正文

使用mysqlhotcopy备份MySQL

http://www.oklinux.cn  2008-10-31  Linux社区    会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

我以前备份都使用mysqldump,导成文本文件便于存放,但是速度很慢的。最快的备份方法当然是直接把数据目录copy一份了。但是一般来说,都要关闭 MySQL的服务才能做,不然在你copy的时候刚好还有人读写表那麻烦就大了。这次朋友介绍我使用mysqlhotcopy。就相当于上面,不过他可以热备份.他备份非常快,我测试一个2.8G的mysql他备份的时间在3分钟内完成.

下面是它的介绍.

mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供。它使用LOCK TABLES、FLUSH TABLES和cp或scp来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库目录所在的机器上。mysqlhotcopy只用于备份MyISAM。它运行在Unix和NetWare中

使用方法见下面的脚本.加入crotab中吧.

#!/bin/sh

# Name:mysqlbackup.sh

# PS:MySQL DataBase Backup,Use mysqlhotcopy script.

# Last Modify:2008-06-12

# 定义变量,请根据具体情况修改

# 定义脚本所在目录

scriptsDir=`pwd`

# 数据库的数据目录

dataDir=/var/lib/mysql

# 数据备份目录

tmpBackupDir=/tmp/mysqlblackup

backupDir=/backup/mysql

# 用来备份数据库的用户名和密码

mysqlUser=root

mysqlPWD='you password'

# 如果临时备份目录存在,清空它,如果不存在则创建它

if [[ -e $tmpBackupDir ]]; then

rm -rf $tmpBackupDir/*

else

mkdir $tmpBackupDir

fi

# 如果备份目录不存在则创建它

if [[ ! -e $backupDir ]];then

mkdir $backupDir

fi

# 得到数据库备份列表,在此可以过滤不想备份的数据库

for databases in `find $dataDir -type d | \

sed -e "s/\/var\/lib\/mysql\///" | \

sed -e "s/test//"`; do

if [[ $databases == "" ]]; then

continue

else

# 备份数据库

/usr/bin/mysqlhotcopy --user=$mysqlUser --password=$mysqlPWD -q "$databases" $tmpBackupDir

dateTime=`date " %Y.%m.%d %H:%M:%S"`

echo "$dateTime Database:$databases backup success!" >>MySQLBackup.log

fi

done

# 压缩备份文件

date=`date -I`

cd $tmpBackupDir

tar czf $backupDir/mysql-$date.tar.gz ./

#End完成

加入到crontab中设置每周5运行

0 0 * * 5 /backup/blackup.sh

注意:恢复数据库到备份时的状态

共2页: 上一页 1 [2] 下一页

上一篇:Ubuntu 8.04 Desktop 版的MySQL BUG?   下一篇:Linux将掌握未来最尖端的操作系统技术

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Ubuntu 8.04 Desktop 版的MySQL BUG?
·MySQL数据库的导入导出与Liunx的权限
·怎样才能保证不发生乱码
·数据库分散存储问题的解决
·修改MySQL默认密码的具体步骤
·MySQL数据库优化技巧集锦
·MySQL数据库常见问题汇总
·完全卸载MySQL数据库5.0
·如何简单安装MySQL数据库
·详细讲解Linux环境下MySQL 5.1安装步骤
·技巧实例:如何在.NET中访问MySQL数据库
·PHP和MYSQL数据库合理且有效的结合在一起
·初学者必读 MySQL 数据库常见问题汇总
·MySQL数据库管理必备工具 phpMyAdmin 3.0
·MySQL数据库中修改密码及访问限制设置详解
·如何使用Erwin进行基于MySQL的数据库设计
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Ubuntu 8.04 Desktop 版的MySQL BUG?
·MySQL数据库的导入导出与Liunx的权限
·怎样才能保证不发生乱码
·数据库分散存储问题的解决
·修改MySQL默认密码的具体步骤
·MySQL数据库优化技巧集锦
·MySQL数据库常见问题汇总
·完全卸载MySQL数据库5.0
·如何简单安装MySQL数据库
·详细讲解Linux环境下MySQL 5.1安装步骤
·技巧实例:如何在.NET中访问MySQL数据库
·PHP和MYSQL数据库合理且有效的结合在一
  阅读排行
·Linux 安装 Mysql
·如何在Linux系统中安装MySQL
·在Linux 环境下安装 Mysql
·在Linux上安装MySQL Server 5.0
·图形化管理MySQL更轻松
·SQL语法详解
·如何启动与停止MySQL的服务器
·[Mysql]IIS+mysql+php相关知识介绍
·详细讲解如何导入和导出MySQL数据库
·《数据结构(C语言版)》 电子书籍下载
·[MySQL]入门学习从安装入门到学习操作
·MySQL TEXT、DATE、SET 数据类型
·你应该知道的10个MySQL客户启动选项
·Ubuntu8.04正式版上安装配置MySQL
·MySQL创始人David Axmark 访谈实录
网摘收藏: