当前位置:Gxlcms > mysql > CentOS下使用mysqlhotcopy定时备份MySQL数据库(MyISAM存储引擎_MySQL

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

时间:2021-07-01 10:21:17 帮助过:16人阅读

CentOS

bitsCN.com

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

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

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

人气教程排行