zoukankan      html  css  js  c++  java
  • mysql-docker备份

    crontab -e
    0 8 * * * docker exec mysql_container mysqldump -uroot -proot_password database_name > /var/backups/mysql/$(date +%Y%m%d_%H%M%S).sql
    mysql_container 为你的数据库容器名
    mysqldump 是mysql数据库导出数据的指令
    -u 填写root账号
    -p 填写root密码
    database_name 需要备份的数据库名
    /var/backups/mysql/$(date +%Y%m%d_%H%M%S).sql 备份文件,后面是文件名的格式
    注:mysql备份的时候我使用了docker exec -it mysqldump ... 这样的命令去做bash脚本,因为-i参数是有互动的意思,导致在crontab中执行定时任务的时候,没有输出数据到sql文件当中。
    所以使用crontab定时的对docker容器进行备份命令的时候不要添加-i参数。
    
    建议把数据库备份的命令写成一个bash脚本。在crontab这里调用就好了
    vim /var/backups/mysql/mysqldump.sh文件
    docker exec mysql_container mysqldump -uroot -pmypassword database_name > /var/backups/mysql/$(date +%Y%m%d_%H%M%S).sql
    crontab -e 
    0 20 * * * /var/backups/mysql/mysqldump.sh
    
    mysql备份优化
    修改脚本
    export mysqldump_date=$(date +%Y%m%d_%H%M%S) && 
    docker exec mysql_container mysqldump -uroot -pmypassword database_name> /var/backups/mysql/$mysqldump_date.sql && 
    gzip /var/backups/mysql/$mysqldump_date.sql
    find /var/backups/mysql/ -name "*.sql" -mtime +15 -exec rm -f {} ;
    
    数据恢复
    docker exec -i mysql_container mysql -uroot -proot_password database_name < /var/backups/mysql/20200619_120012.sql
    
    参考链接
    https://www.cnblogs.com/Johnson-lin/p/13178028.html
    
  • 相关阅读:
    CSV
    矛与盾热血江湖实现喊话功能
    IDA 使用小结
    OD 命令行插件支持的命令
    Qt TreeView
    矛与盾内存数据的分析
    Windows 内核 I/O 端口操作
    矛与盾注入到目标进程
    Qt 多级menu
    C# 美元转中文
  • 原文地址:https://www.cnblogs.com/kylingx/p/13178889.html
Copyright © 2011-2022 走看看