deepin安装mongodb4.x

1、下载

MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包。

下载地址:https://www.mongodb.com/download-center#community

2、解压

下载完安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装)

sudo cp /home/tane/Downloads/mongodb-linux-x86_64-ubuntu1604-4.2.0.tgz /usr/local
cd /usr/local
sudo tar -zxvf mongodb-linux-x86_64-ubuntu1604-4.2.0.tgz
sudo mv mongodb-linux-x86_64-ubuntu1604-4.2.0 /usr/local/mongodb

3、配置

# 创建配置文件

cd /usr/local/mongodb/bin/
sudo vim mongodb.conf

# 添加下述配置

# 数据文件存放目录
dbpath=/usr/local/mongodb/data/db
# 日志文件存放目录
logpath=/usr/local/mongodb/logs/mongodb.log
# 端口
port=27017
# 以守护程序的方式启用,即在后台运行
fork=true
# 允许所有的连接
bind_ip=0.0.0.0
auth=true

# 然后安装conf上面的配置创建data目录和日志文件

sudo mkdir -p /usr/local/mongodb/data/db
sudo mkdir -p /usr/local/mongodb/logs
sudo touch /usr/local/mongodb/logs/mongodb.log

4、运行服务

你可以再命令行中执行mongo安装目录中的bin目录执行mongod命令来启动mongdb服务。

注意:如果你的数据库目录不是/data/db,可以通过 --dbpath 来指定。

cd /usr/local/mongodb/bin
sudo ./mongod -f /usr/local/mongodb/bin/mongodb.conf

# 如果启动成功会输出

about to fork child process, waiting until server is ready for connections.
forked process: 13428
child process started successfully, parent exiting

5、MongoDB后台管理 Shell

如果你需要进入MongoDB后台管理,你需要先打开mongodb装目录的下的bin目录,然后执行mongo命令文件。

MongoDB Shell是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境。

当你进入mongoDB后台后,它默认会链接到 test 文档(数据库):

cd /usr/local/mongodb/bin
./mongo

由于它是一个JavaScript shell,您可以运行一些简单的算术运算:

> 2+2
4
> 3+6
9

现在让我们插入一些简单的数据,并对插入的数据进行检索:

> db.runoob.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.runoob.find()
{ "_id" : ObjectId("5604ff74a274a611b0c990aa"), "x" : 10 }

6、配置环境变量

sudo vim /etc/profile

# 添加

export PATH=$PATH:/usr/local/mongodb/bin

# 使配置文件生效

source /etc/profile

~/.bashrc配置的是用户的环境变量,如果希望直接配置系统环境变量,可以直接在/etc/profile内直接做相同的配置过程

7、创建用户

# 切换到admin数据库,use 命令也可以是创建数据库,当指定数据库不存在时即为创建

> use admin
switched to db admin

# 使用db.createUser() 创建一个管理员用户,admin数据库的权限为root,创建成功会输出Successfully...

> db.createUser({user:'tane',pwd:'123456',roles:[{role:'root',db:'admin'}]})
Successfully added user: {
    "user" : "admin",
    "roles" : [
        {
            "role" : "root",
            "db" : "admin"
        }
    ]
}

# 上面我们在配置文件中开启了auth认证, 所以现在需要使用db.auth()认证一下获取权限,成功会输出1

> db.auth("tane","123456")
1

# 使用show命令查看一下数据库和用户

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> show users
{
	"_id" : "admin.admin",
	"user" : "tane",
	"db" : "admin",
	"roles" : [
		{
			"role" : "root",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}

#创建完用户后,需要关闭当前服务,然后重新启动mongodb

> db.shutdownServer()
server should be down...

使用db.shutdownServer()命令关闭mongodb服务需要登录mongo客户端之后,切换到admin数据库。    

也可以使用kill PID -2来关闭mongodb服务器(不要使用-9参数,会导致数据库文件损坏)

8、附录

角色名

备注

read

允许用户读取指定数据库

readWrite

允许用户读写指定数据库

dbAdmin

允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin

允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin

只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限

readAnyDatabase 

只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase 

只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase

只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限

root

只在admin数据库中可用。超级账号,超级权限

9、错误及解决

1. libcurl.so.4: cannot open shared object file: No such file or directory

这个错误重装curl就行

sudo apt install --reinstall libcurl3

 

你可能感兴趣的:(linux基础)