创建备份 MySQL 数据库的脚本
您可以创建您用于备份 MySQL 数据库的脚本。您不必停止数据库执行备份。您创建用于备份 MySQL 数据库的以下两个脚本:
- pre-db-backup-mode.sh - 此脚本关闭所有打开的表,它锁定带有全局读取锁定的所有数据库的所有表。
- post-db-backup-mode.sh - 此脚本释放所有锁定。
您可以指定脚本,以便在备份向导的先行/后继脚本设置中的 MySQL 数据库节点上运行。
请按下列步骤操作:
- 以 root 用户身份登录备份服务器。
- 使用以下代码创建 pre-db-backup-mode.sh 脚本:
#!/bin/bash#
dbuser=root
dbpwd=rootpwd
lock_mysqldb(){
(
echo "flush tables with read lock;"
sleep 5
) | mysql -u$dbuser -p$dbpwd ${ARGUMENTS} }
}
lock_mysqldb &
PID="/tmp/mysql-plock.$!"
touch ${PID}
注意:按照 MySQL 数据库中定义的内容指定 dbuser 和 dbpwd 变量的值。
- 使用以下代码创建 post-db-backup-mode.sh 脚本:
#!/bin/bash
killcids(){
pid="$1"
cids=`ps -ef|grep ${pid}|awk '{if('$pid'==$3){print $2}}'`
for cid in ${cids}
do
echo ${cid}
kill -TERM ${cid}
done
echo -e "\n"
}
mysql_lock_pid=`ls /tmp/mysql-plock.* | awk -F . '{print $2}'`
[ "$mysql_lock_pid" != "" ] && killcids ${mysql_lock_pid}
rm -fr /tmp/mysql-plock.*
- 为两个脚本提供执行权限。
- 将两个脚本放置在以下位置:
/opt/Arcserve/d2dserver/usr/prepost/
- 登录 Arcserve Unified Data Protection Agent for Linux Web 界面。
- 打开备份向导,然后导航到“高级”选项卡。
- 在“先行/后继脚本设置”选项中,从“拍取快照前”下拉列表中选择 pre-db-backup-mode.sh 脚本文件。
- 在“先行/后继脚本设置”选项中,从“拍取快照后”下拉列表中选择 post-db-backup-mode.sh 脚本文件。
- 提交备份作业。
备份作业已提交。
用于备份 MySQL 数据库的脚本已创建。
注意:Arcserve Unified Data Protection Agent for Linux 支持卷级快照。为了确保数据一致性,数据库的所有数据文件必须在一个卷上。
本节包括以下主题: