MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包。
官网下载: https://www.mongodb.com/download-center/community
下载完安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装) 。
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.4.tgz # 下载
tar -zxvf mongodb-linux-x86_64-rhel70-4.0.4.tgz # 解压
mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb # 将解压包拷贝到指定目录
配置环境变量
vi /etc/profile
增加
export MONGODB_HOME=/usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.0.4
export PATH=$PATH:$MONGODB_HOME/bin
刷新配置
source /etc/profile
新建配置相关文件
mongodb-linux-x86_64-rhel70-4.0.4目录下
mkdir -p /logs
mkdir -p /data/db
touch /bin/mongod.conf
修改配置文件
# mongod.conf
# for documentation of all options,see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.0.4/logs/mongodb.log
# where and how to store data.
storage:
dbPath: /usr/local/mongodb/mongodb-linux-x86_64-rhel70-4.0.4/data/db
journal:
enabled: true
# how the process runs
processManagement:
fork: true
etwork interfaces
net:
port: 27017
bindIp: 127.0.0.1
将bind_ip改为0.0.0.0 (让其他电脑可以访问,用于远程连接,如果bind_ip是127.0.0.1的话,就只能本地访问)
启动
./mongod -f mongodb.conf 或
./bin/mongod --config conf/mongod.conf
创建用户并连接
./mongo #进入命令行
> show dbs #查询库
admin 0.000GB
config 0.000GB
local 0.000GB
先创建管理员
use admin
db.createUser({user: "admin",pwd: "admin",roles: [ { role: "root", db: "admin" } ]})
在mongod.conf文件中加上
#登录认证
security:
authorization: enabled
接下来,进入数据库 需要认证
> use admin
switched to db admin
> db.auth('admin','admin') #认证权限
1
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
遇到的问题
1.中间远程连接一直连不上,timed out
(1)、mongodb的配置文件中的bind_ip 默认为127.0.0.1,默认只有本机可以连接。 此时,需要将bind_ip配置为0.0.0.0,表示接受任何IP的连接。
(2)、防火墙阻止了27017端口。
2.没有连接的权限
(1).root 角色和admin库是不能对外连接的,所以创建新的库和针对库需要新建用户
> use dev #创建dev库
switched to db dev
> db.auth('admin','admin') #认证权限
> db.createUser({user: "dev",pwd: "dev",roles: [ { role: "userAdmin", db: "dev" } ]})
之后可以用dev用户连接
3.没有修改添加的权限
db.grantRolesToUser( 'dev', [{ role:'readWrite', db:'dev'}])
参考文献
https://blog.csdn.net/hwm_life/article/details/82317750
http://www.runoob.com/mongodb/mongodb-linux-install.html