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

Posted 肖永威

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在CentOS环境上迁移mongodb小技巧一则相关的知识,希望对你有一定的参考价值。

做为开发者,经常面临迁移数据的情况,常用的数据导出mongoexport和数据导入mongoimport等工具是个很好的方案,在这里使用全库迁移方案。

当计算资源紧张时、存储资源不足时,开发者换设备、调整资源是常见的情况,为了便捷迁移数据库,咱们来个乾坤大挪移。

1. 在新安装的CentOS上安装MongoDB

要求:安装目录结构及配置与原安装部署一致

  • 安装目录,/usr/local/mongodb
  • 数据库目录,/usr/local/mongodb/data
  • 日志目录,/usr/local/mongodb/log
  • 配置目录,/usr/local/mongodb/etc

略去下载MongoDB安装包过程,把安装包放在工作目录下,切换到root用户下。

解压到指定目录:

[root@bogon python]# tar -zxvf mongodb-linux-x86_64-rhel70-5.0.3.tgz -C /usr/local

其中命令开关,-C:切换到指定目录

修改目录为mongodb:

[root@bogon python]# mv mongodb-linux-x86_64-rhel70-5.0.3 mongodb

创建数据库、日志、配置目录:

[root@bogon python]# mkdir data log etc

2. 停止现在数据库服务

使用数据库命令关闭。

登录数据库

[root@bogon python]# mongo

关闭 MongoDB 服务

	> use admin;
	switched to db admin
	> db.shutdownServer();

使用 Mongod 命令关闭

[root@bogon python]# mongod --shutdown --dbpath /database/mongodb/data/

3. 从原数据库拷贝文件到新数据库

使用sftp工具进行服务器间文件安全传输。

SFTP(SSH File Transfer Protocol)是一种基于SSH(安全外壳)的安全的文件传输协议,使用SFTP协议可以在文件传输过程中提供一种安全的网络的加密算法,从而保证数据的安全传输。
SFTP在Linux操作系统中,默认的端口客是22,传输提供了密码和密钥验证机制,可以有效防止传输过程的威胁和攻击。

使用sftp工具连接原服务器:

[root@bogon python]# sftp root@192.168.*.*

拷贝配置文件到/usr/local/mongodb/etc/下。
sftp> get /usr/local/mongodb/etc/mongodb.conf
拷贝配置数据文件到/usr/local/mongodb/data/下。
sftp> get -r /usr/local/mongodb/data
完成拷贝,退出。
sftp> exit

其中,文件传输命令:
获取
get [远程文件路径] [本地路径] #获取单个文件
get -r [远程目录路径] [本地路径] #获取整个文件夹
发送
put [本地文件路径] [远程路径] #发送单个文件
put -r [本地目录路径] [远程路径] #发送整个文件夹

如果存储空间不够,移动文件到其他地方,并建立软连接:

[root@bogon mongodb]# mv /usr/local/mongodb/data /home/python/mongodb
[root@bogon mongodb]# ln -s /home/python/mongodb/data /usr/local/mongodb/data

4. 配置路径及打开防火墙

在profile中配置上PATH。

[root@bogon python]# vi /etc/profile

	LD_LIBRARY_PATH=/opt/OpenBLAS/lib
	export PATH=$PATH:/usr/local/mongodb/bin
	export NEO4J_HOME=/opt/neo4j
	export PATH=$NEO4J_HOME/bin:$PATH
	export LD_LIBRARY_PATH
	export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
	export PATH=/usr/local/git/bin:$PATH

生效配置。
[root@bogon python]#source /etc/profile

配置防火墙,打开MongoDB默认端口27017。

[root@bogon python]#firewall-cmd --zone=public --add-port=27017/tcp

5. 总结

此方案比较适合开发环境,数据量不是特别大的情况。此方法也非常适合其他数据库在Linux环境间迁移。前提是保证环境配置保持不变。

参考:
梁帆. CentOS使用sftp命令进行主机间文件传输. 简书. 2021.07

今年下半年. centos安装mongodb详细教程. CSDN博客. 2020.06

以上是关于在CentOS环境上迁移mongodb小技巧一则的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

Python读取复杂电子表格(CSV)数据小技巧一则

Python读取复杂电子表格(CSV)数据小技巧一则

Python读取复杂电子表格(CSV)数据小技巧一则