ubuntu下 mongodb 首次安装配置

1 下载

https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

2 解压并拷贝到 /usr/local/mongodb

tar -zxvf mon*

cp mongodb-linux-x86_64-3.0.6 /usr/local/mongo

3 配置环境变量 /etc/profile

sudo  gedit /etc/profile
添加mongodb的安装路径下的bin 到 path
export PATH=<mongodb-install-directory>/bin:$PATH

source /etc/profile 

4 新建data文件夹 和 log文件(mongodb存放数据和日志的地方,但是他自己不会主动创建 所以需要我们手动创建)

sudo mkdir /usr/local/mongodb/data  #创建mongodb数据库存放路径

sudo mkdir /usr/local/mongodb/log   #创建mongodb日志存放路径

touch /usr/local/mongodb/log/mongodb.log   #创建mongodb日志文件

补充: mongodb默认的数据会放到/data/db下 此处我们把日志文件放到mongodb目录下 方便以后查找,

修改文件权限 (因为刚才我们创建的文件 都是用sudo命令创建的,所以 文件的owner 都是属于root 而我们平时用的用户都是非root的)

sudo chown -R kk:kk /usr/local/mongodb/*

5 启动

mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/log/mongodb.log -logappend -port 27017 --fork --auth

参数说明

  启动服务时用到的如下:
  --dbpath 数据库路径
  --logpath 日志文件路径
  --logappend 日志在日志文件末尾追加
  --port 启用的端口号【可不写,默认是27017】
  --fork 让mongodb服务在后台运行
       --auth

6 加入开启启动

sduo gedit /etc/rc.local 


/usr/local/mongodb/bin/mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/log/mongodb.log
(注意 此处必须加全路径 因为此时环境变量还未加载)

7 杀掉进程


which mongo

ps -ef | grep mongo
kill -9 xxx

7 启动 mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/log/mongodb.log -logappend -port 27017 --fork --auth 报错

解决办法见下一条

7 mongo.lock 存放目录

添加 用户名验证

https://www.jianshu.com/p/79caa1cc49a5

https://www.jianshu.com/p/63077a939398


use admin

db.createUser(
  {
    user: "kk",
    pwd: "123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)



use foo

db.createUser(
  {
    user: "simpleUser",
    pwd: "simplePass",
    roles: [ { role: "readWrite", db: "foo" },
             { role: "read", db: "bar" } ]
  }
)

db.createUser(
  {
    user: "kk_blog",
    pwd: "kk_123",
    roles: [ { role: "readWrite", db: "blog" }]
  }
)

鉴权
dbs 失败

use admin 这一步很重要 否则数据库不知道你要登录那个数据库的 user
db.auth("kk", "123")
返回1 则成功登录

db.getUsers() 查看当前数据库的用户

7 mongod 开启后台服务

使用--fork参数启动

mongod --fork --logpath <log_file_path> --dbpath <db_folder_path>

--fork 将mongod作为后台服务启动,并必须要跟随 --logpath 指定日志文件路径,

如果该日志文件不存在会被自动创建

--dbpath 数据的存储目录

启动一个mongo 镜像 并映射端口和目录到主机

docker run -it -p 27017:27017 -v $PWD/db:/data/db -d 43099507792a

-p 27017:27017 :将容器的27017 端口映射到主机的27017 端口

-v $PWD/db:/data/db :将主机中当前目录下的db挂载到容器的/data/db,作为mongo数据存储目录
-d 后台运行

原文地址:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/8168601.html