巩义网站建设价格天津滨海新区落户政策
news/
2025/9/30 22:11:55/
文章来源:
巩义网站建设价格,天津滨海新区落户政策,潍坊网站优化公司,开源商城系统排行前言 这是我在这个网站整理的笔记#xff0c;关注我#xff0c;接下来还会持续更新。 作者#xff1a;RodmaChen PostgreSQL--实现数据库备份恢复详细教学 一. 数据库备份二. 数据库恢复三. 存留问题 数据库备份恢复功能是每个产品所需的#xff0c;以下是简单的脚本案例关注我接下来还会持续更新。 作者RodmaChen PostgreSQL--实现数据库备份恢复详细教学 一. 数据库备份二. 数据库恢复三. 存留问题 数据库备份恢复功能是每个产品所需的以下是简单的脚本案例满足了大部分备份和恢复需求
关于备份恢复命令可参考这篇文章PostgreSQL – 备份恢复命令
一. 数据库备份
我创建了back-sql.sh脚本
#!/bin/bash
pg_info($1)
local_path$2
ctime$(date %Y%m%d%H%M%S)
backup_path${local_path}/${ctime}_${pg_info[4]}.sql
zip_path${local_path}/${ctime}_sql.zip
pg_dump --compress9 --dbnamepostgres://${pg_info[0]}:${pg_info[1]}${pg_info[2]}:${pg_info[3]}/${pg_info[4]} --formatcustom --file${backup_path}
cd ${local_path}/
zip -m ${zip_path} ${ctime}_${pg_info[4]}.sqllinux上执行以下命令就备份成功了
给脚本执行权限
chmod x back-sql.sh./back-sql.sh 用户名 密码 地址 端口 数据库 要备份的路径这样就能够备份成功了 –compress9是为了给备份出来的文件压缩原本备份出来的sql有31M压缩后就是3M –formatcustom --file${backup_path}是备份出二进制文件与pg_restore 配合使用 如果不使用以上两个命令那么就需要psql命令进行恢复 二. 数据库恢复
我做了点容错处理逻辑如下 创建一个recover-sql.sh脚本
#!/bin/bash
pg_info($1)
path$2
ctimetest_$(date %Y%m%d%H%M%S)
sql_path${path}
psql postgres://${pg_info[0]}:${pg_info[1]}${pg_info[2]}:${pg_info[3]}/postgres EOF
CREATE database ${ctime};
EOF
pg_restore --exit-on-error --dbnamepostgres://${pg_info[0]}:${pg_info[1]}${pg_info[2]}:${pg_info[3]}/${ctime} ${sql_path}
if [ $? -ne 1 ]; thenecho pg_restore 命令执行成功psql postgres://${pg_info[0]}:${pg_info[1]}${pg_info[2]}:${pg_info[3]}/postgres EOF
SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname ${pg_info[4]} AND pid pg_backend_pid();
DROP database IF EXISTS ${pg_info[4]};
ALTER database ${ctime} rename to ${pg_info[4]};
EOF
elseecho pg_restore 命令执行失败psql postgres://${pg_info[0]}:${pg_info[1]}${pg_info[2]}:${pg_info[3]}/postgres EOF
DROP database IF EXISTS ${ctime};
EOF
fi
linux上执行以下命令就恢复成功了
./recover-sql.sh 用户名 密码 地址 端口 数据库 你sql文件的地址列如/tmp/hwaf2/b.sql三. 存留问题
备份出来的数据库是明文的可以被随意查看的可以随便拿一个sql就能进行恢复修改掉原来的数据库 针对以上问题我的方案是对sql文件进行加密。 我通过python使用国密的sm2和sm4进行了尝试发现如果sql文件过大加密速度变得很慢所以这种加密方法明显行不通不知道各位大神有什么解决方案 作者RodmaChen 本人博客https://blog.csdn.net/weixin_46654114 转载说明务必注明来源附带本人博客连接。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923300.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!