微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

docker环境下数据库的备份(postgresql, mysql)

posgresql 备份/恢复

  1. 备份

    DATE=`date +%Y%m%d-%H%M`
    BACK_DATA=xxapp-data-${DATE}.out  # 这里设置备份文件的名字, 加入日期是为了防止重复
    docker exec pg-db pg_dumpall -U postgres > ${BACK_DATA} # pg-db 是数据库的 docker 名称 
  2. 恢复

    docker cp ${BACK_DATA} pg-db:/tmp
    docker exec pg-db psql -U postgres -f /tmp/${BACK_DATA} postgres

MysqL 备份/恢复

  1. 备份

    DATE=`date +%Y%m%d-%H%M`
    BACK_DATA=xxapp-data-${DATE}.sql
    # MysqL-db 是数据库的 docker 名称, xxxpwd 是 root 用户密码, app-db 是要备份的数据名称
    docker exec MysqL-db MysqLdump  -uroot -pxxxpwd --databases app-db > ${BACK_DATA}
  2. 恢复 下面的 ${BACK_DATA} 要替换成实际生成文件名称

    docker cp ${BACK_DATA} MysqL-db:/tmp 
    docker exec -it MysqL-db MysqL -uroot -pxxxpwd 
    MysqL> source /tmp/${BACK_DATA}.sql
    MysqL> \q
    Bye

补充

postgresql 是备份所有数据库的, MysqL 是备份某一个数据库.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐