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 后台运行