mysql如何做灾备
MySQL是一种非常重要的数据库,对于企业的业务来说是不可或缺的应用,但是在日常应用过程中,我们不能排除数据库因为自然灾害,硬件故障等原因导致的宕机风险。为了保证企业和业务的正常运行,我们需要对 MySQL 数据库进行灾备处理。
MySQL 数据库的灾备处理,主要是通过备份和恢复来准确保障数据库的数据安全。基于 MySQL+CentOS 的组合,可以采用以下方式实现 Linux 平台上 MySQL 数据库的灾备备份。
#!/bin/bash
USER='backupuser'
PASSWORD=”password”
BACKUP_DIR=/data/backup/mysql
MYSQL_HOST='localhost'
MYSQL_PORT='3306'
MYSQL_USER='root'
MYSQL_PASSWORD='password'
MYSQL_BIN=/usr/bin/mysql
MYSQLDUMP_BIN=/usr/bin/mysqldump
GZIP_BIN=/usr/bin/gzip
echo 'start backup mysql...'
echo 'Create backup dir'
if [ ! -d ${BACKUP_DIR}/`date +%Y%m%d_%H%M%S` ]; then
mkdir -p ${BACKUP_DIR}/`date +%Y%m%d_%H%M%S`
fi
DATABASES=`$MYSQL_BIN -u${MYSQL_USER} -p${MYSQL_PASSWORD} -h${MYSQL_HOST} -P${MYSQL_PORT} -e "SHOW DATABASES;" |grep -v -E "(Database|information_schema|mysql)$"`
for DB in $DATABASES; do
echo $DB
$MYSQLDUMP_BIN --single-transaction -h${MYSQL_HOST} -P${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${DB} | $GZIP_BIN >${BACKUP_DIR}/`date +%Y%m%d_%H%M%S`/$DB.sql.gz
done
echo 'backup mysql complete!'