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 @ 2019-04-28 10:18  davie2020  阅读(270)  评论(0)    收藏  举报