记服务器MongoDB数据库迁移实战记录【云MongoDB数据库迁移】

一.服务器MongoDB数据库迁移实战记录

1.背景:

我原来的服务器到期了,因为高昂的费用我只能使用新用户的身份购买一个服务器。

2.需求:

将原来的云端MongoDB数据库迁移到新购买的服务器上。

3.注意:

之前的MongoDB并没有使用宝塔的可视化创建,而是使用命令行,导致,可视化页面看不到数据库。故使用备份命令进行了备份,并且将备份下载到了本地电脑里。

1.1 备份MongoDB数据库步骤

1.连接MongoDB服务器。可以使用mongo命令连接到MongoDB服务器。例如,在命令行中输入以下命令:

mongo --host <hostname> --port <port> -u <username> -p <password> --authenticationDatabase admin

其中,“<hostname>”指定MongoDB服务器的主机名或IP地址,“<port>”指定MongoDB服务器的端口号,“<username>”和“<password>”指定MongoDB管理员的用户名和密码,“–authenticationDatabase”指定MongoDB管理员所在的数据库名称。

2.选择要备份的数据库。在连接MongoDB服务器后,使用“use”命令选择要备份的数据库。例如:

use mydatabase

3.执行备份命令。使用mongodump命令备份MongoDB数据库。例如:

mongodump --out /path/to/backup/folder/

其中,“–out”参数指定备份文件保存的目录。

4.完成备份。备份过程可能需要一些时间,具体时间取决于您要备份的数据的大小和MongoDB服务器的性能。当备份完成时,您应该在备份文件保存的目录中找到一个包含备份数据的文件夹。

到备份文件保存的目录,将其下载到本地电脑里:

在这里插入图片描述

1.2 恢复数据库到新服务器里

1.采用宝塔可视化新建数据库。设置数据库名,用户名和密码。

image-20230407120408566

2.将本地电脑里的备份MongoDB数据上传到新服务器内:

image-20230407120528962

3.使用终端命令执行恢复操作:(先关闭数据库密码认证)

在SSH终端中使用mongorestore命令将备份文件中的数据恢复到新的数据库中。例如,假设您的备份文件名为“mydb.bson”,您可以使用以下命令恢复数据:

mongorestore -h 127.0.0.1 -d <database_name> <path_to_backup_file>

以我的为例:

mongorestore -h 127.0.0.1 -d <数据库名> /www/backup/database/mongodb/beifeng/mongo

其中,“-h”参数指定MongoDB服务器的IP地址,如果MongoDB服务器安装在本机上,可以使用“127.0.0.1”或“localhost”;“-d”参数指定要恢复的数据库名称,替换为您创建的数据库名称;“<path_to_backup_file>”指定备份文件的路径和名称,例如“/home/wwwroot/default/_backup/database/mydb.bson”。

执行效果如下:

image-20230407120701071

4.使用Navicat Premium 远程连接使用查看:

image-20230407120807693

本次数据恢复完成,可以正常使用。

1.3 总结

1.备份MongoDB数据库的一般步骤如下:

  1. 连接MongoDB服务器。
  2. 选择要备份的数据库。
  3. 使用mongodump命令备份MongoDB数据库。
  4. 完成备份。

在备份过程中,建议在非工作时间进行备份,并且在备份期间避免对MongoDB服务器进行其他操作,以避免对服务器性能产生影响。

2.以下是恢复MongoDB数据库的一般步骤:

  • 连接MongoDB服务器。您可以使用mongo命令连接到MongoDB服务器。例如,在命令行中输入以下命令:
cssCopy code
mongo --host <hostname> --port <port> -u <username> -p <password> --authenticationDatabase admin

其中,“”指定MongoDB服务器的主机名或IP地址,“”指定MongoDB服务器的端口号,“”和“”指定MongoDB管理员的用户名和密码,“–authenticationDatabase”指定MongoDB管理员所在的数据库名称。

  • 创建要恢复的数据库。如果要恢复的数据库在MongoDB服务器上不存在,则需要先创建该数据库。例如,在连接MongoDB服务器后,使用“use”命令选择一个已经存在的数据库,然后使用“db.createCollection()”命令创建一个新的集合。例如:
perlCopy codeuse mydatabase
db.createCollection("mycollection")
  • 执行恢复命令。使用mongorestore命令恢复MongoDB数据库。例如:
bashCopy code
mongorestore --dir /path/to/backup/folder/

其中,“–dir”参数指定备份文件所在的目录。

  • 完成恢复。恢复过程可能需要一些时间,具体时间取决于您要恢复的数据的大小和MongoDB服务器的性能。当恢复完成时,您应该可以在恢复的数据库中找到所有的数据。

请注意,恢复MongoDB数据库时,如果目标数据库已经存在数据,则恢复操作可能会导致数据冲突或数据丢失。因此,建议在进行恢复操作前先备份目标数据库,并在恢复操作前清空目标数据库。同时,为了保证恢复操作的正确性,建议在进行恢复操作时,确保MongoDB服务器正常运行并且没有其他用户对MongoDB服务器进行操作。

猜你喜欢

转载自blog.csdn.net/weixin_52908342/article/details/130009265
今日推荐