二进制安装相对于rpm包安装更灵活,也更便于自动化部署,因此线上部署建议基于二进制部署
系统版本 : centos 7.7
4.2.3
从官网下载最新版(目前是4.2.3)
https://www.mongodb.com/download-center/community
选择版本,平台和包类型
安全起见,每个服务最好都用自己单独的用户启动
useradd mongo
echo "mongo" | passwd --stdin mongo
解压到安装目录
tar -xzvf mongodb-linux-x86_64-rhel70-4.2.3.tgz -C /usr/local/
改个名字或建个软连接,方便我们自己使用
cd /usr/local/
mv mongodb-linux-x86_64-rhel70-4.2.3 mongodb
修改属主
chown mongo:mongo mongodb/ -R
修改环境变量加入PATH路径
若允许所有用户都可以使用mongo命令则在/etc/profile
中加入如下行,然后执行source /etc/profile
生效
.bash_profile
文件中加入如下行,然后source ~/.bash_profile
生效export PATH=/usr/local/mongodb/bin:$PATH
创建mongo数据目录
mkdir -p /data/mongo/{data,log}
chown mongo:mongo -R /data/mongo
启动时使用mongo用户启动su - mongo
mongod --dbpath "/data/mongo/data" --logpath "/data/mongo/log/mongo.log" --fork
参数较多,较长时使用命令行参数不太直观,也不利于多人维护,建议使用配置文件方式
配置文件启动
新建配置文件/data/mongo/mongo.conf
写入以下内容
dbpath=/data/mongo/data # 数据存储路径
logpath=/data/mongo/log/mongo.log # 日志存储路径
fork=true # 后台启动
port=27017 # 端口
启动
mongod -f /data/mongo/mongo.conf
若启动失败查看/data/mongo/log/mongo.log
日志解决
默认mongo在前台启动,窗口关闭后就会终止,fock参数把mongo以守护进程方式在后台运行
使用mongo用户
mongo
命令进入mongo shell(会有些warning信息,不用管它)
[mongo@localhost ~]$ mongo
MongoDB shell version v4.2.3
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e9039c32-9394-46f6-82a8-6c02e725e4e9") }
MongoDB server version: 4.2.3
...
...
...
>
>
# 查看database
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
>
# 切换库(mongo中库不存在可以use进去)
> use test
switched to db test
# 插入一条测试记录{a:1}
> db.abc.insertOne({a:1})
{
"acknowledged" : true,
"insertedId" : ObjectId("5e67255872f3500db9054129")
}
# 查找刚才插入的记录
> db.abc.find()
{ "_id" : ObjectId("5e67255872f3500db9054129"), "a" : 1 }
>
欢迎关注公众号,不定时更新运维技术文章
原文:https://blog.51cto.com/epime/2487625