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

centos7,8,9,ubuntu18以上

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

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

暂无图片 评论
暂无图片 有用 1
打赏 0
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
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Hubble数据库支持分布式事务吗?
回答 1
Hubble数据库支持分布式事务,并且支持最高级别的串行化事务,天云数据Hubble数据库将事务分配到集群节点。用户可以访问任意节点发起事务操作,也不需要关心分片具体分布在哪个节点上,Hubble自动
多实例数据库,启用一个监听,只能启用一个实例,是什么原因?
回答 1
查看下监听端口是否被占用了  
数据库种类有哪些?各有什么特点?
回答 7
我在CSDN上有一篇文章,可以参考:https://blog.csdn.net/TingheZhang/article/details/123533294?spm1001.2014.3001.5501
TDsql安装,赤兔页面创建非分布式实例失败,报错create set failed! because get resource failed: no valuable host!
回答 1
机器资源充足的话,在资管管理页面调大机器的剩余CPU、内存、磁盘剩余数量。
怎么查看数据库详细操作日志?
回答 2
这玩意你得上审计系统了。
有一张学生成绩表 Scores,包含 student_id, course, score 三个字段。如何用一条 SQL 查询找出每个课程中分数最高的学生?
回答 4
SELECTs.course,s.studentid,s.scoreFROMScoressINNERJOIN(SELECTcourse,MAX(score)ASmaxscoreFROMScoresGR
HANA 1.00.122.06.1485334242 如何删除备份记录
回答 1
SAP  HANA不允许删除差异备份,因为它是基于上一次全量备份或增量备份的变更。如果删除了差异备份,那么在恢复数据时,将无法应用这些变更,可能导致数据丢失。如果你确实需要删除备份
数据库 服务器断电,startup提示有文件需要恢复,但是对应位置没有那个文件,怎么处理?
回答 1
那就是文件丢了吧?看看有没有备份,有备份的话可以恢复。没有的话,如果这个文件里的数据不重要,可以将这个文件offline,再启动试试
跨系统一张2亿数据表怎么快速同步?
回答 1
感觉缺少一些前提条件;简单操作可以可以先逻辑导出导入,然后通过创建dblink方式通过查询差异列数据,进行增量插入数据;或者用高级的ogg?adg方式
OushuDB中如何进行数据库状态监控
回答 1
1、方法:通过如下命令得到处于不健康状态OushuDB的节点SELECTFROMgpsegmentconfigurationWHEREstatus<>'u';2、推荐频率:每隔510分钟3