CentOS下使用mysqlhotcopy定时备份MySQL数据库(MyISAM存储引擎)
2013-03-04 00:00
911 查看
CentOS下使用mysqlhotcopy定时备份MySQL数据库(MyISAM存储引擎)
mysqlhotcopy与mysqldump比较:
前者是一个快速文件意义上的COPY,后者是一个数据库端的SQL语句集合。
前者只能运行在数据库目录所在的机器上,后者可以用在远程客户端,不过备份的文件还是保存在服务器上。
相同的地方都是在线执行 LOCK TABLES 以及 UNLOCK TABLES
前者恢复只需要COPY备份文件到源目录覆盖即可,后者需要导入SQL文件到原库中。(source 或 mysql < bakfile.sql)
前者只适用于 MyISAM 引擎,而后则则可同时使用于MyISAM引擎和InodDB引擎.
前者在使用前必须安装perl-DBD-mysql包,而后者则不需要.
使用mysqlhotcopy之前需要安装perl-DBI和DBD-mysql:
加入定时任务
1、停止mysql服务器。
2、复制备份的数据库目录到mysql数据目录下。
3、更改目录所有者为mysql服务器运行的用户(如mysql)。
4、启动mysql服务器
mysqlhotcopy与mysqldump比较:
前者是一个快速文件意义上的COPY,后者是一个数据库端的SQL语句集合。
前者只能运行在数据库目录所在的机器上,后者可以用在远程客户端,不过备份的文件还是保存在服务器上。
相同的地方都是在线执行 LOCK TABLES 以及 UNLOCK TABLES
前者恢复只需要COPY备份文件到源目录覆盖即可,后者需要导入SQL文件到原库中。(source 或 mysql < bakfile.sql)
前者只适用于 MyISAM 引擎,而后则则可同时使用于MyISAM引擎和InodDB引擎.
前者在使用前必须安装perl-DBD-mysql包,而后者则不需要.
使用mysqlhotcopy之前需要安装perl-DBI和DBD-mysql:
yum -y install perl perl-DBIShell脚本如下:
# Name:mysqlbackup.sh # PS:MySQL DataBase Backup,Use mysqlhotcopy script. # Last Modify:2008-06-12 # 定义变量,请根据具体情况修改 # 定义脚本所在目录 scriptsDir=`pwd` # 数据库的数据目录 dataDir=/usr/local/mysql/var/ # 数据备份目录 tmpBackupDir=/tmp/mysqlblackup backupDir=/home/backup/mysql # 用来备份数据库的用户名和密码 mysqlUser=root mysqlPWD='456123' # 如果临时备份目录存在,清空它,如果不存在则创建它 if [[ -e $tmpBackupDir ]]; then rm -rf $tmpBackupDir/* else mkdir $tmpBackupDir fi # 如果备份目录不存在则创建孾C if [[ ! -e $backupDir ]];then mkdir $backupDir fi # 得到数据库备份列表,在此可以过滤不想备份的数据库 for databases in `find $dataDir -type d | \ sed -e "s/\/usr\/local\/mysql\/var\///" | \ sed -e "s/test//"`; do if [[ $databases == "" ]]; then continue else # 备份数据 /usr/local/mysql/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完成
加入定时任务
30 5 * * * /root/mysqlbackup.sh >> mysqlbackup.log 2>&1如何还原?
1、停止mysql服务器。
2、复制备份的数据库目录到mysql数据目录下。
3、更改目录所有者为mysql服务器运行的用户(如mysql)。
4、启动mysql服务器
相关文章推荐
- 使用MySQL自带工具mysqlhotcopy快速备份MyISAM引擎的MySQL数据库
- 使用MySQL自带工具mysqlhotcopy快速备份mysql数据库
- Centos下使用mysqlhotcopy备份
- MySQL 备份和恢复策略二:使用mysqlhotcopy备份数据库
- 类似mysqlhotcopy备份mysql myisam脚本
- centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复
- centos 7 mysqlhotcopy 安装,使用 笔记
- 使用mysqlhotcopy命令备份的文件如何恢复
- centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复
- mysql数据库mysqlhotcopy热备份的备份恢复方法
- 【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件
- 使用mysqlhotcopy 物理增量备份
- 在LINUX下使用mysqlhotcopy备份MySQL中的数据库
- CentOS下使用crontab+mysqldump实现定时自动备份数据库
- MySQL 备份和恢复策略二:使用mysqlhotcopy备份数据库
- 基于CentOS的MySQL学习补充五--使用Shell备份(mysqldump)MySQL数据库
- CentOS下使用crontab+mysqldump实现定时自动备份数据库
- mysqlhotcopy 备份myisam表
- CentOS下使用crontab+mysqldump实现定时自动备份数据库
- 使用mysqlhotcopy备份MySQL