Mongodb在Linux上安装教程
正文开始:
系统环境:linux centos7
mongodb版本:4.4.0
一、下载
为了保证各处版本一致性及便捷性,使用官网下载安装包安装
官网传送门:
https://www.mongodb.com/try/download/community
若是选择server,则下载为rpm安装包,选择tgz,下载后是压缩包(建议选择tgz)
说明:若是选择server,则下载为rpm安装包,选择tgz,下载后是压缩包(建议选择tgz)
选择操作系统时,Linux可使用下面命令查询
cat /etc/issue
或
cat /etc/redhat-release
二、安装
1,切换到普通用户xxx(建议使用普通用户进行安装操作)
su - xxx
2,上传服务器,下载好的
mongodb-linux-x86_64-rhel62-4.4.0.tgz上传到服务器
3,解压安装包并重命名为mongodb4
tar -xzf mongodb-linux-x86_64-rhel62-4.4.0.tgz
mv mongodb-linux-x86_64-rhel62-4.4.0 mongodb4
4,配置mongodb
cd mongodb4
ll
创建数据库文件夹 data/db/
/* 创建数据库文件夹 data/db/ */
mkdir -p data/db/
/* 创建日志文件夹 logs/log */
mkdir -p logs/log
/* 在logs文件夹下创建一个mongodb.log日志文件 */
cd logs
touch mongodb.log
/* 创建配置文件的文件夹以及配置文件(mongodb4目录下) */
cd ..
mkdir etc
创建配置文件
cd etc
vim mongodb.conf
mongodb.con配置内容为:
# 任何机器可以连接
bind_ip_all = true
# 本机和192.168.0.3可以访问
#bind_ip = 127.0.0.1,192.168.0.3
# 实例运行在27017端口(默认)
port = 27017
# 数据文件夹存放地址(db要预先创建)
dbpath = /soft/mongodb4/data/db
# 日志文件地址
logpath = /soft/mongodb4/logs/mongodb.log
# 启动时 添加还是重写日志文件
logappend = false
# 是否后台运行
fork = true
# 开启校验用户
auth = true
5,创建mongodb脚本,需要切换到root用户进行操作(开机启动)
切换到root账户进行
创建mongodb脚本文件
su - root
vim /etc/init.d/mongodb
脚本内容为:
#!/bin/sh
# description: Mongodb database.
start() {
/soft/mongodb4/bin/mongod --maxConns 20000 --config /soft/mongodb4/etc/mongodb.conf
}
stop() {
/soft/mongodb4/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()"
#/soft/mongodb4/bin/mongo 127.0.0.1:27017/admin --eval "db.auth('root','123456');db.shutdownServer()"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
给你mongodb赋执行权限
启动mongodb
chmod a+x /etc/init.d/mongodb
service mongodb start
运行报错:error while loading shared libraries: liblzma.so.0: cannot open shared object file: No such file or directory
解决方法:
centos 7: yum install xz-compat-libs
6,利用mongo连接服务器,并配置账户
cd /soft/mongodb4/bin/
./mongo
查看并创建用户
show dbs;
use admin;
db.createUser(
{
user:"root",
pwd:"123456",
roles:[{role:"root",db:"admin"}]
}
)
db.createUser( {user:"root",pwd:"123456.",roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ] })
停止服务时可能会因为授权问题无法停止,需修改为:
stop() {
/soft/mongodb4/bin/mongo 127.0.0.1:27017/admin --eval "db.auth('root','123456');db.shutdownServer()"
}
# 验证用户
>db.auth('myadmin', 'secret')
1 # 输出1 表示验证成功
# 再次执行
>show dbs
# 这次就会列出所有数据库