Toggle navigation
首页
技术
骑行
羽毛球
资讯
联络我
登录
mysql数据库在Docker下的备份与恢复
2017-05-21
Docker
Mysql
> 本文介绍使用mysql docker镜像容器服务时的数据备份、定期备份及恢复方法 # 数据备份 mysql的备份指令格式如下: /usr/bin/mysqldump -u [user] --password=[password] [database-name] > [backup-file-name] 如果使用的是mysql容器服务,只需要将上述命令稍加修改即可: docker exec [mysql-container-name] /usr/bin/mysqldump -u [user] --password=[password] [database-name] > [backup-file-name] # 压缩备份数据 直接通过管道,将备份输出给gzip: docker exec [mysql-container-name] /usr/bin/mysqldump -u [user] --password=[password] [database-name] | gzip > [backup-file-name] # 备份脚本 ```bash backupfolder=$1 subfolder="$backupfolder"`date '+%Y%m'/` mkdir -p $subfolder echo "1. Backup db" docker exec [mysql-container-name] /usr/bin/mysqldump -u [user] --password=[password] [database-name] | gzip > $subfolder`date '+%Y%m%d'.sql.gz` echo "2. Backup web" cp -a /data/blog/web/images/upload/ $subfolder`date '+%Y%m%d'/` ``` 然后通过该脚本指定要备份的目的路径即可。 # 定期备份 可以通过Linux的crontab命令来定期执行脚本来备份数据,修改 /etc/crontab 文件,添加: 0 3 * * * search path/to/backup.sh ~/backup/ 上述指令表示在每天凌晨3点开始执行备份脚本, 从左到右的参数依次为: minute hour day month dayofweek user command *代表任意数字 可以通过如下指令查看命令执行状况: grep CRON /var/log/syslog # 数据恢复 cat [backup-file-name] | docker exec -i [CONTAINER] /usr/bin/mysql -u [user] --password=[password] [database-name] # 参考资料: * docker下的mysql数据备份与恢复:https://gist.github.com/spalladino/6d981f7b33f6e0afe6bb * mysql备份与恢复: http://www.cnblogs.com/feichexia/p/MysqlDataBackup.html * crontab: http://www.cnblogs.com/maybo/p/5183753.html
×
本文为博主原创,如需转载,请注明出处:
http://www.supperxin.com
返回博客列表