暂无图片
【新人首问】自动化脚本实现rpm安装pg或mysql,如何处理rpm更新或下线的问题
我来答
分享
微信用户
2024-02-20
【新人首问】自动化脚本实现rpm安装pg或mysql,如何处理rpm更新或下线的问题


需要用shell脚本实现mysql和pg的安装,主要在centos和ubuntu上,实现代码按照数据库。

目前理解有三种安装方式,源码编译|二进制包|rmp安装,目前了解rpm安装最方便快捷,但是实践过程中发现,

rpm会因为软件生命周期原因下线,导致脚本安装数据库失败,所以目前想法是把rpm下载到内部服务器,用来解决rpm下线的问题。但总觉得方案不健壮也不优雅,还会存在以下问题

1.gpg签名会更新,我没有同步gpg文件,在安装时使用--nogpgcheck 跳过,不知道有无风险

2.我只是保存了图中的rpm,里面只是软件源仓库的信息,至于实际安装数据库,我看还会下载各种依赖的rpm包,如果我只下载图中rpm,如果其他依赖下线了,我也无法完成数据库安装。


请教各位大佬是否有更优雅的自动化安装数据库的方案,我目前看到某些运维工具是直接使用源码编译安装的方式,且可以安装多版本的mysql和pg, 我只需要实现安装一个固定版本的mysql8和pg15即可。

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
张sir

把所有包下载到自己的一台ftp服务器,所有需要部署数据库的服务器都来这个服务器拉取安装包

暂无图片 评论
暂无图片 有用 3
暂无图片
章芋文
2024-02-21
很多企业内部自己配有yum源,因为服务器无法访问外网
微信用户
题主
2024-02-21
我看mysql,pg依赖的包很多啊,可能上百个,这些包的rpm都要下载下来吗? 如果这样,这样看似乎使用源码编译更健壮些,不用考虑那么多依赖包,只需要考虑少量的编译依赖。
张sir
答主
2024-02-22
依赖包都需要下载,但是大部分依赖包应该都在自有的yum源上有(如果你有yum源);如果不具备这个东西,可以用别人编译好的二进制的包,我一般都用这个,写个脚本自动部署,爽歪歪
展开全部评论(1条)
微信用户

centos7,8,9,ubuntu18以上

暂无图片 评论
暂无图片 有用 1
微信用户

不让用docker容器之类,需要直接在刚安装的系统上进行安装。

暂无图片 评论
暂无图片 有用 1
lianR

题主的考虑是非常正确的,把rpm包下载到内部服务器是一个可行的方案,但是它的确存在你提到的问题,比如gpg签名更新和依赖包下线等问题。
针对这个问题,我有以下几个建议:
1.  使用Docker:Docker是一种容器技术,可以将应用程序和其环境打包成一个独立的、可运行的单元。使用Docker,你可以直接从Docker  Hub下载预先配置好的MySQL和PostgreSQL镜像,然后在任何支持Docker的系统上运行。这种方法的优点是简单、快速,无需担心依赖问题,而且Docker镜像通常都会保持更新。

2.  使用Ansible:Ansible是一种自动化运维工具,可以用来自动化安装和配置软件。你可以编写一个Ansible  playbook,指定需要安装的MySQL和PostgreSQL版本,然后让Ansible去处理安装和配置的过程。这种方法的优点是可以在多台机器上同时执行,而且Ansible有大量的社区支持,你可以找到很多现成的playbook。

3.  使用源码编译:这种方法的优点是可以精确控制安装的版本和配置,但是需要一定的技术水平。你需要下载MySQL和PostgreSQL的源码,然后编译和安装。这种方法的缺点是比较复杂,而且可能会遇到各种编译问题。

总的来说,我建议你首先尝试使用Docker,如果有特殊需求,再考虑使用Ansible或源码编译。

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏