MongoDB中的Versão升级
#nosql #mongodb

个人讲话,似乎是昨天,但是我们已经在8月中旬/2023年中期,自Mongodb 4.2拥有EOL(生命的终结)以来已经3个月了,即,不再有官方的支持并收到更多的错误或安全更正。考虑到这一点,如果您有任何环境MongoDB 4.2(无论是企业高级或社区版),必须立即对其进行更新。该过程已经在Atlas中有所不同,如果您不更新EOL的日期,其他Atlas会照顾它。但是,您应该知道或这样做,您的申请将继续工作?

BAMS更新的过程在理论上很简单,并且不需要数据文件,日志或配置(mongod.conf)的任何形式的更改。最大的问题是他们应用程序的驱动程序,因为某些功能或妈妈可能已经停产,这将在代码侧面生成一项工作。>>>>

司机

始终尝试使用最喜欢的驱动程序,可用于您喜欢的编程语言。请注意驾驶员和MongoDB版本之间的功能和兼容性。

在此link中,您可以咨询MongoDB正式支持的所有驾驶员以及社区支持的图书馆。例如,在选择C#时,您可以看到版本之间的兼容性:
.NET Driver Compatibility
请注意,使用MongoDB 4.4与驱动程序.NET/C#最少一起使用2.11。

驱动程序的更新可能是您更新MongoDB版本时更费力的步骤,因为驱动程序越大,您在应用程序中将拥有的更改点越多。此处的提示始终使驾驶员保持最新状态,因为与以前版本的MongoDB兼容性相当宽。

发行说明

另一个必不可少的咨询来源是Release Notes页面,在此链接中,您将找到版本的所有更新点,更正和改进,更具体地说,您可以咨询página mudanças de compatibilidade,并咨询所需版本的所有更改(在这种情况下,谈论4.4)。在这些链接中,您有一个非常完整的指南,可以跟随您的MongoDB更新步行。

除了有关命令,所有操作员和MongoDB功能的重要信息外,验证与操作系统的兼容性非常重要。根据您的版本,您可能已被删除并具有更大的兼容性,需要更长的时间,但是它可能会发生,然后在更新MongoDB之前,您需要更新OS。 /p>

Mongodb Atlas升级

MongoDB Atlas中版本的升级非常简单且零下限。通过执行可能的兼容性更正,您只需单击几下即可。值得注意的是,到达截止日期时,MongoDB地图集的升级是强制性的,也就是说,如果您在当前编程的EOL中具有群集,并且不采取任何操作,则将自动更新集群。另一个重要的一点是,MongoDB Atlas一旦截止日期结束后立即删除EOL版本,因此,不可能在带有EOL版本的MongoDB Atlas中构建一个集群5.0的4.4版本。

  • 访问您的集群仪表板,然后单击Koud0: Edit Configuration
  • Advanced Setting部分中,选择版本5.0: Advanced Settings 如果您注意到,其他版本的MongoDB是可处置的,应按照版本的顺序进行升级,即,您无法将4.4版本直接升级到6.0版。
  • 在RODP中,单击Review Changes,然后确认更改: Review Changes Apply Changes

最高警告说,这种经文的变化是不可逆转的,也就是说,我们无法将群集更改为上一个版本。为了确保您将在以前的版本中拥有数据库的版本,对于备份很重要,在Atlas中。通过此备份,可以在兼容版本中构建一个新群集并还原备份。

在应用更改时,Atlas将安装执行计划,该计划将开始更新群集的每个数量,正如我所说的,没有任何停机时间。 /p>

MongoDB社区版升级

对于社区版本中的商业,该过程不是“视觉”,而是Atlas中的“视觉”。在以下演示中,我将使用基于Linux RHEL分布的命令。

  • 数据备份故障:

    mongodump --out <caminho_para_a_saida_do_backup>
    

    MongoDump还有其他选项,但我们不会在本文中解决。

  • 配置文件的备份故障:

    cp /<caminho_do_arquivo>/mongod.conf /<caminho_do_arquivo>/mongod.conf_old
    
  • pare oserviã§odo mongodb:

    sudo service mongod stop
    
  • 从以前的版本中删除BAM:

    sudo yum erase $(rpm -qa | grep mongodb-org)
    sudo yum erase $(rpm -qa | grep mongodb-database-tools)
    
  • 从以前的Versatage中删除存储库:

    rm -f /etc/yum.repos.d/mongodb-org-4.2.repo
    
  • 为所需的Versatity创建一个新文件,在这种情况下为4.4:

    cat << 'ENDOFDOC' | sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo
    [mongodb-org-4.4]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
    sslverify=0
    ENDOFDOC
    
  • 更新存储库,并将进行安装:

    sudo yum update
    sudo yum install -y mongodb-org
    
  • 复制以前版本中使用的相应路径的配置文件。请注意,在配置文件中,无需更改:

    sudo cp /etc/mongod.conf_old /etc/mongod.conf
    
  • 开始服务:

    sudo systemctl start mongod
    

首先在辅助服务器上执行这些过程,每次都会执行一次。这样做,整个过程也会产生停机时间。

当您到达基本服务器时,您不会忘记逐步降低,此过程将开始选举,将当前原理传递到第二,您将使用安全性关闭。

rs.stepDown()

包括£o

我们已经看到,在MongoDB地图集中更新MongoDB版本的过程,以及在正确执行时未产生停机时间的预选过程。我们还看到,验证应用程序使用的驱动程序的兼容性以及检查所有功能等是否非常重要。已修改甚至删除并进行相应的更新。除了始终在当前版本(升级之前)中备份数据之外,这还可以确保您可以重新安装或构建新群集以还原数据。

如果您需要帮助,请指望我们!而且您不会忘记离开自己的喜欢并分享您会。

在©More!