Home  >  Article  >  Database  >  CentOS下使用mysqlhotcopy定时备份MySQL数据库(MyISAM存储引擎_MySQL

CentOS下使用mysqlhotcopy定时备份MySQL数据库(MyISAM存储引擎_MySQL

WBOY
WBOYOriginal
2016-06-01 13:35:471084browse

CentOS

bitsCN.com

CentOS下使用mysqlhotcopy定时备份MySQL数据库(MyISAM存储引擎)

 

mysqlhotcopy与mysqldump比较:

 

前者是一个快速文件意义上的COPY,后者是一个数据库端的SQL语句集合。

前者只能运行在数据库目录所在的机器上,后者可以用在远程客户端,不过备份的文件还是保存在服务器上。

相同的地方都是在线执行 LOCK TABLES 以及 UNLOCK TABLES

前者恢复只需要COPY备份文件到源目录覆盖即可,后者需要导入SQL文件到原库中。(source 或 mysql

前者只适用于 MyISAM 引擎,而后则则可同时使用于MyISAM引擎和InodDB引擎.

前者在使用前必须安装perl-DBD-mysql包,而后者则不需要.

 

使用mysqlhotcopy之前需要安装perl-DBI和DBD-mysql:

1

yum -y install perl perl-DBI

Shell脚本如下:

01

# Name:mysqlbackup.sh

02

# PS:MySQL DataBase Backup,Use mysqlhotcopy script.

03

# Last Modify:2008-06-12

04

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

05

# 定义脚本所在目录

06

scriptsDir=`pwd`

07

# 数据库的数据目录

08

dataDir=/usr/local/mysql/var/

09

# 数据备份目录

10

tmpBackupDir=/tmp/mysqlblackup

11

backupDir=/home/backup/mysql

12

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

13

mysqlUser=root

14

mysqlPWD='456123'

15

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

16

if [[ -e $tmpBackupDir ]]; then

17

        rm -rf $tmpBackupDir/*

18

else

19

        mkdir $tmpBackupDir

20

fi

21

 

22

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn