Instale o MongoDB 4.x offline no Linux

Instale o MongoDB 4.4.4 offline no Linux

0. Prefácio

Versão: Centos7 + MongoDB 4.4.4

Site oficial: https://www.mongodb.com/

A configuração de instalação deste artigo é单个机器单个实例

Se você instalar 单个机器多个实例ou 多台机器集群, este artigo é apenas para referência.

1. Baixe

Clique aqui para baixar a versão customizada ou clique aqui para baixar

version:4.4.4

Platform:RedHat / CentOS 7.0

Package:tgz

2. Instalação e configuração

Upload para Linux

Após a descompactação, mova o local de armazenamento do arquivo e renomeie-o

tar -zxvf mongodb-linux-x86_64-rhel70-4.4.4.tgz

mv mongodb-linux-x86_64-rhel70-4.4.4 /usr/local/mongodb

Adicionar arquivo de configuração

cd /usr/local/mongodb/

vi mongodb.conf

A seguir está o conteúdo do arquivo de configuração mongodb.conf

#数据文件存放目录
dbpath = /usr/local/mongodb/data/db
#日志文件存放目录
logpath = /usr/local/mongodb/logs/mongodb.log
#默认端口27017
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
#允许远程连接,127.0.0.1只允许本地连接
bind_ip=0.0.0.0
#是否需要认证,如果启用,则需要创建mongodb账号密码,使用账号密码才可以远程访问
#auth = true

Em seguida, crie o diretório do arquivo de dados e o arquivo de log configurado no arquivo de configuração mongodb.conf

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

3. Configure as variáveis ​​de ambiente

vi /etc/profile 

Em seguida, adicione o seguinte

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

Faça as alterações que você acabou de fazer efetivas imediatamente

source /etc/profile

4. Inicie o serviço mongo

mongod -f /usr/local/mongodb/mongodb.conf

A inicialização bem-sucedida é a seguinte

[root@iZbp185opgs9ov4aretwdxZ ~]# mongod -f /usr/local/mongodb/mongodb.conf 
about to fork child process, waiting until server is ready for connections.
forked process: 11622
child process started successfully, parent exiting

5. Conecte-se ao cliente mongo

#未开启认证
mongo
#开启认证使用账号密码连接
mongo -u admin -p admin

A conexão é bem-sucedida da seguinte maneira

[root@iZbp185opgs9ov4aretwdxZ ~]# mongo
MongoDB shell version v4.4.4
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session {
    
     "id" : UUID("14909903-578d-4023-83cd-dec9703c904e") }
MongoDB server version: 4.4.4
---
The server generated these startup warnings when booting: 
        2021-03-04T15:00:41.842+08:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
        2021-03-04T15:00:42.732+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
        2021-03-04T15:00:42.732+08:00: You are running this process as the root user, which is not recommended
        2021-03-04T15:00:42.732+08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
        2021-03-04T15:00:42.732+08:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never'
---
---
        Enable MongoDB's free cloud-based monitoring service, which will then receive and display
        metrics about your deployment (disk utilization, CPU, operation statistics, etc).

        The monitoring data will be available on a MongoDB website with a unique URL accessible to you
        and anyone you share the URL with. MongoDB may use this information to make product
        improvements and to suggest MongoDB products and deployment options to you.

        To enable free monitoring, run the following command: db.enableFreeMonitoring()
        To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
> 

Você também pode ps -ef | grep mongoverificar se o processo foi iniciado, a exibição de dois é o início

6. Desligue o serviço mongo

mongod --dbpath /usr/local/mongodb/data/db --logpath /usr/local/mongodb/logs/mongodb.log --shutdown

ou

rs:PRIMARY> use admin
rs:PRIMARY> db.shutdownServer()
#退出后即关闭

7. Criar usuário [recomendação]

# 切换到admin数据库
use admin
# 使用db.createUser() 创建一个管理员用户admin,角色为root,指定具体数据库
db.createUser({
    
    user:'admin',pwd:'admin',roles:[{
    
    role:'root',db:'admin'}]})
# db.auth()认证一下获取权限,认证通过后可以操作数据库,成功则会输出1
db.auth("admin","admin")


# use 命令也可以是创建数据库,当指定数据库不存在时即为创建,切换到一个新的数据库xtest
use xtest
# 创建用户xtest dbOwner权限
db.createUser({
    
    user:'xtest',pwd:'xtest',roles:['dbOwner']})

# 查看有哪儿些用户
show users
# 删除用户
db.dropUser("user_name")

Um deve ser criado 管理员账号. Depois de criar a conta, você precisa mongodb.confhabilitar a autenticação auth no arquivo de configuração e, em seguida, reiniciar o mongoserviço

Depois de reiniciar, você precisa fazer login no cliente por meio da conta de administrador e senha que acabou de criar, caso contrário, o show dbscomando não poderá visualizar nenhum banco de dados porque você não tem permissão.

O formato de conexão do cliente é:mongo -u 账号 --authenticationDatabase 数据库名 -p 密码

--authenticationDatabase 数据库名 Opcional

mongo -u admin --authenticationDatabase admin -p admin
mongo -u admin -p admin

Função:

read    	允许用户读取指定数据库
readWrite    	允许用户读写指定数据库
dbAdmin    	允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
dbOwner		数据库拥有者,包含readWrite、dbAdmin、userAdmin
userAdmin    	允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin    	只能切换在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase    	只能切换在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase    	只能切换在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase    	只能切换在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase    	只能切换在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root    	只能切换在admin数据库中可用。超级账号,超级权限

8. Adicionar conjunto de réplicas e arquivo de chave [opcional]

(1) Gere um arquivo de chave que armazena informações de autenticação

Ao mesmo tempo, a autenticação auth e o conjunto de réplicas exigem um arquivo de chave. Se não estiver configurado, um erro será relatado ao iniciar:BadValue: security.keyFile is required when authorization is enabled with replica sets

cd /usr/local/mongodb/data/db
openssl rand -base64 741 > mongodb.key
#修改权限,不修改之后启动时会报错
chmod 400 mongodb.key

(2) MongoDB usa apenas um nó para habilitar o conjunto de réplicas no MongoDB

Modifique o arquivo de configuração para adicionar informações do conjunto de réplicas e informações de localização do arquivo de chaves

cd /usr/local/mongodb/

vi mongodb.conf

A seguir está o conteúdo do arquivo de configuração mongodb.conf

#数据文件存放目录
dbpath = /usr/local/mongodb/data/db
#日志文件存放目录
logpath = /usr/local/mongodb/logs/mongodb.log
#默认端口27017
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
#允许远程连接,127.0.0.1只允许本地连接
bind_ip=0.0.0.0
#是否需要认证,如果启用,则需要创建mongodb账号密码,使用账号密码才可以远程访问
auth = true
#副本集名称
replSet=rs
#存储身份信息的秘钥文件
keyFile=/usr/local/mongodb/data/db/mongodb.key

(3) Reinicie o serviço mongo

mongod --dbpath /usr/local/mongodb/data/db --logpath /usr/local/mongodb/logs/mongodb.log --shutdown

mongod -f /usr/local/mongodb/mongodb.conf

(4) Use o seguinte comando para inicializar o conjunto de réplicas rs.initiate ()

Faça login no shell do MongoDB e execute o comandors.initiate()

> rs.initiate()
{
    
    
	"info2" : "no configuration specified. Using a default configuration for the set",
	"me" : "iZbp185opgs9ov4aretwdxZ:27017",
	"ok" : 1,
	"$clusterTime" : {
    
    
		"clusterTime" : Timestamp(1615022835, 1),
		"signature" : {
    
    
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	},
	"operationTime" : Timestamp(1615022835, 1)
}
rs:SECONDARY> 

Ver informações do conjunto de réplicas

rs.status()

Até agora completo.

9. Ferramentas de visualização

Clique em NoSQLBooster for MongoDB para baixar a ferramenta. Algumas funções desta ferramenta são gratuitas por 30 dias.

Como conectar:

Ao usar esta ferramenta para se conectar ao MongoDB

Se a configuração do MongoDB não requer autenticação de senha, apenas diretamente Conexões-> Criar-> Básico-> Insira o ip e a porta no Servidor-> Clique em Testar Conexão-> Se um OK verde aparecer, ele terá sucesso, e uma fonte vermelha irá relatar um erro e falha (o motivo da falha é possível Há um erro no ip ou porta ) -> Depois que a conexão for bem-sucedida, clique em Salvar e conectar -> Concluir

Se a configuração do MongoDB requer autenticação de senha, ou seja, o arquivo de configuração é definido auth = true, então Conexões-> Criar-> Básico-> Insira o ip e a porta no Servidor-> Clique em Autenticação-> Modo para selecionar Básico (Nome de usuário / Senha) , Auth DB adiciona o nome do banco de dados, Nome do usuário adiciona o nome da conta, Senha preenche a senha -> clique em Testar conexão -> se o OK verde aparecer, ele terá êxito e a fonte vermelha relatará um erro, então falhará - > depois que a conexão for bem-sucedida, clique em Salvar e conectar -> Concluir

(O motivo da falha pode ser um erro na porta ip ou um erro na senha da conta do banco de dados. Se você ainda não conseguir se conectar depois que todas as verificações estiverem corretas, você deve verificar se está configurado no arquivo de configuração auth = truee, em seguida, desligue desative o serviço mongo e reinicie-o. Depois de iniciar, passe a conta na janela preta Senha para se conectar ao cliente mongo, recrie a senha da conta e use a senha da conta recém-criada para se conectar na ferramenta)

Se o servidor Alibaba Cloud não puder ser conectado, ele pode estar bloqueado pelo Cloud Shield. Configure a lista de permissões: clique aqui

Ou mude o ponto de acesso do telefone para tentar

Acho que você gosta

Origin blog.csdn.net/qq_43853055/article/details/114379405
Recomendado
Clasificación