从这篇文章起,计划写一个mongo系列,包含安装配置,shell操作 ,及副本集群和分片集群配置
可以选择rpm包,二进制或源码编译
二进制安装相对于rpm包安装更灵活,也更便于自动化部署,因此线上部署建议基于二进制部署
-
系统版本 :
centos 7.7
-
mongodb版本:
4.2.3
1. 下载安装包
从官网下载最新版(目前是4.2.3)
https://www.mongodb.com/download-center/community
选择版本,平台和包类型
2. 创建用户
安全起见,每个服务最好都用自己单独的用户启动
useradd mongo
echo "mongo" | passwd --stdin mongo
3. 安装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
生效 -
若仅允许mongo用户使用mongo则切换到mongo用户,在mongo用户家目录中的
.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
4. 启动
启动时使用mongo用户启动su - mongo
- 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以守护进程方式在后台运行
5. 验证
使用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 }
>
欢迎关注公众号,定时更新运维技术文章