MySQL - 定时备份
-
创建备份目录,在这里以/root/bak/mysql为例:
cd mkdir bak cd bak mkdir mysql
-
在/usr/sbin下touch一个sh:
cd /usr/sbin touch myDBbackup.sh
内容如下:
#!/bin/bash #Name:myDBbackup.sh backupdir=bak/mysql time=` date +%Y%m%d%H%M ` mysqldump --login-path=local appleague | gzip > $backupdir/myDB$time.sql.gz
-
mysqldump不支持在命令行中直接输入密码,需要执行以下操作:
mysql_config_editor set --login-path=local --host=localhost --user=username --password
然后便可以这样登录了:
mysql --login-path=local -e "statement"
-
设置定时执行
也许你可以写在/etc/crontab中,并/etc/init.d/crond restart。
但也可以输入crontab -e进入vim,写入如下格式:0 2 * * * sh /usr/sbin/myDBbackup.sh
-
手工恢复:
gunzip xxx.gz mysql -u root -p --default-character-set=utf8 use myBD source /root/bak/mysql/xx.sql