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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 随机数猜年龄游戏