mysql 备份还原shell 脚本
完全备份指定数据库
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服务,问题就解决