附:FLUSH TABLES WITH READ LOCK命令的作用是对所有数据库的表执行只读锁定,只读 锁定后所有数据库的写操作将被拒绝,但读操作可以继续。执行锁定可以防止在查看二进制日 志信息的同时有人对数据进行修改操作,最后使用UNLOCK TABLES语句对全局锁执行结束操 作。
#!/bin/bash
DATE=$(date +%Y-%d-%m)
DES=/usr/src/mysql_bak MYSQL_U=Hrootn
MYSQL_P=”xxx”
MYSQL_H=”127.0.0.1" if [ ! -d ”$DES” ] ; then
mkdir -p "$DES"
fi
#获取数据库名称列表
DB=$(mysql -u $MYSQL_U -h $MYSQL_H #通过循环执行备份所有的MySQL数据库 for database in $DB
do
if [ ! $database == "information_scheman ] ;then
mysqldump -u $MYSQL_U -h $MYSQL_H -p$MYSQL_P $database \
|bzip2> "$DES/${DATE}_mysql.gz"
fi
done