当前位置: 移动技术网 > 科技>操作系统>Linux > docker环境下数据库的备份(postgresql, mysql)

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

2019年05月18日  | 移动技术网科技  | 我要评论

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 是备份某一个数据库.

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网