2020年8月18日星期二

postgresql 和 mysql 数据库备份恢复以及时区问题

  • 概要
  • postgesql 12
    • 备份/恢复脚本
    • 时区设置
  • mysql 5.6
    • 备份/恢复脚本
    • 时区设置

概要

postgresql 和 mysql 是最常用的 2 种开源关系数据库, 很多项目也会优先选用这 2 种数据库.

通过 docker 来使用这 2 种数据库的时候, 部署非常方便, 没什么好说的. 这里简单总结下数据库的备份/恢复和时区设置问题.

postgesql 12

备份/恢复脚本

1 DOCKER_CONTAINER=pg122 DATE=`date +%Y%m%d-%H%M`3 BACK_DATA=${DOCKER_CONTAINER}-data-${DATE}.out4 docker exec ${DOCKER_CONTAINER} pg_dumpall -U postgres > ${BACK_DATA}5 6 echo "docker cp ${BACK_DATA} ${DOCKER_CONTAINER}:/tmp" > restore-data.sh7 echo "docker exec ${DOCKER_CONTAINER} psql -U postgres -f /tmp/${BACK_DATA} postgres" >> restore-data.sh

其中 DOCKER_CONTAINER 可以配置成自己的数据库 docker 的名称 备份之后, 会生成对应的恢复脚本.

时区设置

docker 中的数据库默认都是配置的 UTC 时区, 和中国差 8 个小时. 通过修改配置文件, 可以将默认时区改成中国的时区.

把 docker 中 /var/lib/postgresql/data/postgresql.conf 文件拷贝出来, 并修改如下 2 条:

log_timezone = 'PRC'timezone = 'PRC'

启动的 docker-compose.yml 中, 加上对应 volume 配置:

services: postgres:  image: postgres:12  restart: always  ports:  - "5432:5432"  volumes:  - db_data:/var/lib/postgresql/data  - ./postgresql.conf:/var/lib/postgresql/data/postgresql.conf  environment:  POSTGRES_PASSWORD: mypassword

mysql 5.6

备份/恢复脚本

1 DOCKER_CONTAINER=mysqldb2 DB_NAME=db13 DATE=`date +%Y%m%d-%H%M`4 BACK_DATA=${DOCKER_CONTAINER}-${DB_NAME}-${DATE}.sql5 docker exec ${DOCKER_CONTAINER} mysqldump -uroot -pxxx --databases ${DB_NAME} > ${BACK_DATA}6 7 echo "docker cp ${BACK_DATA} ${DOCKER_CONTAINER}:/tmp" > restore-data.sh8 echo "docker exec ${DOCKER_CONTAINER} mysql -uroot -pxxx -D ${DB_NAME} < /tmp/${BACK_DATA}" >> restore-data.sh

其中 DOCKER_CONTAINER 可以配置成自己的数据库 docker 的名称 DB_NAME 可以配置需要备份的数据库名称 备份之后, 会生成对应的恢复脚本.

时区设置

mysql 的时区配置比较简单, 可以不改配置文件, 在 docker-compose.yml 中做如下修改就行:

mysql-db: image: mysql:5.7 restart: always ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: mypassword volumes: - /usr/share/zoneinfo/Asia/Shanghai:/usr/share/zoneinfo/Asia/Shanghai

postgresql 和 mysql 数据库备份恢复以及时区问题

postgresql 和 mysql 数据库备份恢复以及时区问题搭建团队patpat友家速递站外引流:9个你经常在twitter上面犯的错误!双11开场1小时,Lazada在东南亚六国订单量超300万!城会玩!2018黑五卖家秀堪比"侏罗纪公园",老外速卖通上买恐龙!去海边玩需要注意什么?或者需要带什么?七夕节送什么礼物好?有关七夕的短信有哪些?

没有评论:

发表评论