mysql 备份还原shell 脚本

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

完全备份指定数据库

DIR=/database/backupdir 
FILE_NAME=`date +%y%m%d%H` 
FILE_NAME=$DIR/db_$FILE_NAME.sql.gz 
echo start backup to $FILE_NAME 
mysqldump --host=10.10.20.1 --port=3336 --user=dbuser --password=dbpwd --default-character-set=utf8 --quick --routines --single-transaction --master-data=1  db_name | gzip > $FILE_NAME 
echo finish backup

从备份的文件恢复数据库

#db restore abc
gunzip < /backupfiledir/12082917.sql.gz | mysql --user=dbuser --password=dbpwd --port=3336 --host=10.10.20.1 --database=test

在备份时出现mysqldump: Error: Binlogging on server not active时,是因为mysql的binlog没有启动,在mysql的my.ini文件中[mysqld]下面添加

log-bin=mysql-bin

然后重新启动mysql服务,问题就解决