MongoDB数据库迁移及CentOS之间传送文件案例一则

Posted 肖永威

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB数据库迁移及CentOS之间传送文件案例一则相关的知识,希望对你有一定的参考价值。

我有台计算机上运行MongoDB数据库,由于工作要求让出此台计算机,需要把数据库迁移到另外一台计算机。两台计算机都是Linux操作系统CentOS 7,MongoDB为社区版5.0.3。

MongoDB数据库迁移方案
两台计算机上的MongoDB的部署及配置一样,目录结构如下:

[python@bogon mongodb]$ ls -l /usr/local/mongodb
total 132
drwxr-xr-x. 2 root root    70 May 27  2022 bin
lrwxrwxrwx. 1 root root    25 May 31  2022 data -> /home/python/mongodb/data
drwxr-xr-x. 2 root root    26 May 27  2022 etc
-rw-r--r--. 1 root root 30608 Sep 20  2021 LICENSE-Community.txt
drwxr-xr-x. 2 root root   103 Jul  8  2022 log
-rw-r--r--. 1 root root 16726 Sep 20  2021 MPL-2
-rw-r--r--. 1 root root  1977 Sep 20  2021 README
-rw-r--r--. 1 root root 76823 Sep 20  2021 THIRD-PARTY-NOTICES

其中,“data”目录是存储数据的目录,完全迁移此目录即可。(补充:此目录是个软连接,因为原有的分区不够了,连接到另一个大的分区上)

首先,关闭数据库

# 1、登录数据库
[mongo@redhatB data]$ mongo

# 2、关闭 MongoDB 服务
> use admin;
switched to db admin
> db.shutdownServer();

其次,切换到root用户下,压缩文件及拷贝文件。

# 压缩目录及文件
[root@bogon mongodb]# tar jcvf /home/python/mongodb/data.tar.bz2 /home/python/mongodb/data

# 从源计算机(192.168.17.13)拷贝压缩文件到目标计算机(192.168.19.229)
[root@bogon mongodb]# scp /home/python/mongodb/data.tar.bz2 root@192.168.19.229:/home/python/mongodb

root@192.168.19.229's password: 
data.tar.bz2                                  100% 6331MB   9.8MB/s   10:43   

注,scp命令行,前面的是源主机(有压缩文件)。

接着,解压文件,拷贝数据文件夹到mongodb主目录下。

# 解压文件
[root@DeepLearning mongodb]# tar -xvjf data.tar.bz2
# 拷贝文件到mongodb
[root@DeepLearning mongodb]# mv home/python/mongodb/data data
# 查看目录结构
[root@DeepLearning mongodb]# ls -l /usr/local/mongodb
总用量 136
drwxr-xr-x. 2 root root    70 10月  8 2021 bin
lrwxrwxrwx. 1 root root    25 11月 13 2021 data -> /home/python/mongodb/data
drwxr-xr-x. 2 root root    26 5月  27 2022 etc
-rw-r--r--. 1 root root 30608 9月  20 2021 LICENSE-Community.txt
drwxr-xr-x. 2 root root  4096 6月   8 2022 log
-rw-r--r--. 1 root root 16726 9月  20 2021 MPL-2
-rw-r--r--. 1 root root  1977 9月  20 2021 README
-rw-r--r--. 1 root root 76823 9月  20 2021 THIRD-PARTY-NOTICES

在目标计算机上启动MongoDB数据库。

mongod --config /usr/local/mongodb/etc/mongodb.conf

最后,在目标计算机上删除压缩包和无用的文件夹。

[root@DeepLearning mongodb]# ls -l
总用量 6482648
drwxr-xr-x. 4 root root       4096 2月   7 11:05 data
drwxr-xr-x. 3 root root       8192 6月   8 2022 data.old
-rw-r--r--. 1 root root 6638213312 2月   7 11:45 data.tar.bz2
drwxr-xr-x. 3 root root         20 2月   7 11:48 home

删除data.tar.bz2压缩文件和home文件夹。

[root@DeepLearning mongodb]# rm -R home
rm:是否进入目录"home"? y
rm:是否进入目录"home/python"? y
rm:是否删除目录 "home/python/mongodb"?y
rm:是否删除目录 "home/python"?y
rm:是否删除目录 "home"?y

[root@DeepLearning mongodb]# rm data.tar.bz2
rm:是否删除普通文件 "data.tar.bz2"?y

参考内容如下:

参考原文连接,两台centos之间传送文件

以上是关于MongoDB数据库迁移及CentOS之间传送文件案例一则的主要内容,如果未能解决你的问题,请参考以下文章

Centos 7安装MongoDB

Centos7下yum安装mongodb

两台centos之间传送文件

两台centos之间传送文件

在CentOS环境上迁移mongodb小技巧一则

在CentOS环境上迁移mongodb小技巧一则