和两天数据库服务器出了点问题,突然打不开,还担心是硬盘坏了。结果问机房的半天才给答复,说是机房停电。。。坑爹
不过这次停电也敲了下警钟,要有备份的意识啊。。。
线上mysql服务器是Linux的,就记录下 linux下的mysql备份,Let’s go!!!
线上服务器是最小化安装的 CentOS6,没有自带crontab,所以要自己装个,并设置好自启动。
#yum install vixie-cron crontabs //安装
#chkconfig crond on //开机自启动
#service crond start //启动
写脚本之前,先在备份目录里面创建一个日志文件。
#touch /home/backup/bakmysql.log
然后写个 mysql备份的脚本。。。这里默认数据库备份目录为 /home/backup
#!/bin/bash dbuser=root #mysql用户名 dbpwd=pwd #mysql密码 backupdir=/home/backup date=` date +%Y%m%d ` #record log echo `date` start >> $backupdir/bakmysql.log mysqldump -u $dbuser -p$dbpwd dbname--lock-tables=false | gzip > $backupdir/$date-dbname.sql.gz #dbname为数据库名字 #record log echo `date` finish >> $backupdir/bakmysql.log
脚本写好了,就可以在 crontabs里面写执行计划了。一般备份数据库的时间都在凌晨
在/etc/crontab 里面加入一句
07 11 * * * root /home/backup/bakmysql.sh