mongodb 3.4.20版本安装

mongodb 3.4.20版本安装

一、环境简介

Centos 6.10 64位

mongodb 3.4.20

二、参考资料

https://www.cnblogs.com/liuq1991/p/8073895.html
https://www.cnblogs.com/try-better-tomorrow/p/4924071.html

三、安装依赖包

yum -y install make gcc-c++ cmake bison-devel ncurses-devel  readline-devel  libaio-devel perl libaio wget lrzsz vim  libcurl openssl  libnuma* bzip2 xz

四、配置ssh互信(可选)

复制代码
# 每个节点都执行
ssh-keygen -t rsa # 一路回车
# 将公钥添加到认证文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 并设置authorized_keys的访问权限
chmod 600 ~/.ssh/authorized_keys

# 只要在一个节点执行即可。这里在  192.168.142.138 上执行
ssh 192.168.142.139 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
ssh 192.168.142.140 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

# 分发整合后的文件到其它节点
scp ~/.ssh/authorized_keys 192.168.142.139:~/.ssh/
scp ~/.ssh/authorized_keys 192.168.142.140:~/.ssh/

cat >>/etc/hosts <<"EOF"
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.142.138  mongodb1
192.168.142.139  mongodb2
192.168.142.140  mongodb3
EOF
复制代码

 

五、下载解压

复制代码
cd /opt/
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.20.tgz
# 解压
tar -zxf mongodb-linux-x86_64-rhel62-3.4.20.tgz
ln -s /opt/mongodb-linux-x86_64-rhel62-3.4.20 /usr/local/mongodb
ln -s /opt/mongodb-linux-x86_64-rhel62-3.4.20/bin/* /usr/bin/
mkdir  -p /data/mongodb/data
mkdir  -p /data/mongodb/log
mkdir  -p /data/mongodb/conf

# 创建配置文件
cat >/data/mongodb/conf/mongodb.conf <<"EOF"
port = 27017
#数据目录
dbpath = /data/mongodb/data
#日志目录
logpath = /data/mongodb/log/mongodb.log
# pid文件
pidfilepath=/data/mongodb/mongodb.pid
#设置后台运行
fork = true
#日志输出方式
logappend = true
#开启认证
#auth = true
EOF
复制代码

六、启动服务

复制代码
cat >>/etc/rc.local<<"EOF"
##########
echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
echo "never" > /sys/kernel/mm/transparent_hugepage/defrag
EOF


# 启动服务
/usr/local/mongodb/bin/mongod -f /data/mongodb/conf/mongodb.conf 
复制代码

七、后续配置

复制代码
# 设置开启启动
cat > /etc/rc.d/init.d/mongod <<"EOF"

ulimit -SHn 655350
echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
echo "never" > /sys/kernel/mm/transparent_hugepage/defrag

#!/bin/sh
# chkconfig: - 64 36
# description:mongod
case $1 in
start)
/usr/local/mongodb/bin/mongod --maxConns 20000 --config /data/mongodb/conf/mongodb.conf
;;
stop)
/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()"
;;
status)
/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"
;;
esac

EOF

chmod +x /etc/rc.d/init.d/mongod
chkconfig mongod on
service  mongod  start 
[root@mongodb3 ~]# /etc/init.d/mongod status
MongoDB shell version v3.4.20
connecting to: mongodb://127.0.0.1:27017/admin
MongoDB server version: 3.4.20
{
        "db" : "admin",
        "collections" : 1,
        "views" : 0,
        "objects" : 1,
        "avgObjSize" : 59,
        "dataSize" : 59,
        "storageSize" : 16384,
        "numExtents" : 0,
        "indexes" : 2,
        "indexSize" : 32768,
        "ok" : 1
}
[root@mongodb3 ~]# 

# 添加环境变量
cat >>/etc/profile "EOF"
export PATH=$PATH:/usr/local/mongodb/bin
EOF
source /etc/profile
复制代码

八、卸载

复制代码
# 杀死进程
for i in `ps -ef|grep mon | grep -v 'grep' | awk '{print $2}'`; do kill $i; done
rm -rf /usr/local/mongodb/
rm -rf /data/mongodb/
rm -rf /opt/mongodb-linux-x86_64-rhel62-3.4.20
 
unlink /usr/bin/mongo
unlink /usr/bin/mongod
unlink /usr/bin/mongodump
unlink /usr/bin/mongoexport
unlink /usr/bin/mongofiles
unlink /usr/bin/mongoimport
unlink /usr/bin/mongooplog
unlink /usr/bin/mongoperf
unlink /usr/bin/mongoreplay
unlink /usr/bin/mongorestore
unlink /usr/bin/mongos
unlink /usr/bin/mongostat
unlink /usr/bin/mongotop
复制代码

九、附录

复制代码
//设置密码 

在无验证状态启动  进入需要增加密码的数据库  

例如 : use test

db.createUser({user: "yuxin",pwd: "yuxin",roles: [ { role: "readWriteAnyDatabase", db: "test" } ]})

然后重启  ,重新登录  登录 : db.auth("yuxin","yuxin") 返回1则成功 

插入方法 :  db.inventory.save( { type: "book", item: "notebook", qty: 40 } )

新建的数据库,需要先储存一个东西 .才可以用.

权限参考:
    All build-in Roles
    Database User Roles: read|readWrite
    数据库用户角色:读|读写
    Database Admion Roles: dbAdmin|dbOwner|userAdmin
    数据库管理角色:数据库管理员|数据库所有者|用户管理
    Cluster Admin Roles: clusterAdmin|clusterManager|clusterMonitor|hostManager
    集群管理角色:
    Backup and Restoration Roles: backup|restore
    All-Database Roles: readAnyDatabase|readWriteAnyDatabase|userAdminAnyDatabase|dbAdminAnyDatabase
    所有数据库角色:读所有数据库|读写所有数据库|所有数据库的用户管理员|所有数据库的管理员
    Superuser Roles: root
复制代码

 

posted @   davie2020  阅读(243)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2018-04-28 随机数猜年龄游戏
点击右上角即可分享
微信分享提示