目录

1、下载安装包(https://www.mongodb.com/download-center#community)

2、解压安装包

3、将解压安装包移到指定目录

4、添加到 PATH 

5、创建数据相关目录

#创建目录data

#创建存放数据文件目录

#创建存放日志文件目录

#创建存放数据库启动配置文件目录

#创建存放数据库二进制文件目录

#创建启动配置文件mongo.conf

6、启动服务

7、连接数据库

1),内置连接命令:mongo

8、接着上面,关闭mongo后台服务

9、设置开机启动mongdb

1)、编写自定义服务

2)、设置权限

3)、systemctl 启动命令

4)、开放端口(主要是centos6或更旧版本的设置)

10、基本操作

1)、创建用户

2)、创建数据库

3)、给新创建的库加入用户

4)、关闭数据库

5)、常用命令

6)、备份恢复数据库

7)、系统句柄调优(根据实际情况而定)

11、登录认证


mongdb提供了各操作系统的不同安装包,下面以64位的centos7.5(rehat红帽系版本系统)为例:

 

 

1、下载安装包(https://www.mongodb.com/download-center#community)

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.3.tgz

 

2、解压安装包

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

 

3、将解压安装包移到指定目录

[root@luhydb soft]# mv mongodb-linux-x86_64-rhel70-4.0.3 /usr/local/mongodb

 

4、添加到 PATH 

MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中:

cd /etc/profile

在文件最后一行添加:

export MONGODB_HOME=/usr/local/mongodb

export PATH=$PATH:$MONGODB_HOME/bin

source /etc/profile(立即生效)

 

5、创建数据相关目录

MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。

以下实例中我们将data目录创建于根目录下(/)。

注意:/data/db 是 MongoDB 默认的启动的数据库路径(--dbpath)。

 

#创建目录data

mkdir /usr/local/mongodb/mongodb_data

 

#创建存放数据文件目录

cd /usr/local/mongodb/mongodb_data

mkdir /usr/local/mongodb/mongodb_data/data

 

#创建存放日志文件目录

mkdir /usr/local/mongodb/mongodb_data/log

 

#创建存放数据库启动配置文件目录

(可选,也可以不填写,将采用默认值)

mkdir /usr/local/mongodb/mongodb_data/conf

 

#创建存放数据库二进制文件目录

(其实这里就是/usr/local/mongodb/bin,不创建的,在启动时可以切换到/usr/local/mongodb/bin目录执行相关启动服务,这里我不创建

mkdir bin

 

#创建启动配置文件mongo.conf

cd conf

vim mongo.conf

 

配置文件内容如下:

# http://docs.mongodb.org/manual/reference/configuration-options/


# where to write logging data.

systemLog:
  destination: file
  logAppend: true
  path: /usr/local/mongodb/mongodb_data/log/mongod.log


# where and how to store data.

storage:
  dbPath: /usr/local/mongodb/mongodb_data/data
  journal:
    enabled: true  


# how the process runs
processManagement:
  fork: true    
  pidFilePath: /usr/local/mongodb/mongodb_data/mongod.pid

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0

 

【注意】 如果没有指定bind_ip,会导致mongodb默认绑定为127.0.0.1,导致外部无法访问,如果希望在外部或远程访问,那可以设置  bindIp: 0.0.0.0 这样就可以不受网络限制了。

 

6、启动服务

#切换到/usr/local/mongodb/bin目录下

执行如下启动命令:

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

 

如果顺利启动,将看到如下打印信息:

[root@luhydb bin]# mongod -f /usr/local/mongodb/mongdb_data/conf/mongo.conf
2018-10-15T21:39:40.964+0800 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'

about to fork child process, waiting until server is ready for connections.

forked process: 106236

child process started successfully, parent exiting

 

7、连接数据库

数据库安装并启动后,便可以连接数据库了,连接数据库有好几种方法,下面介绍其中部分。

 

1),内置连接命令:mongo

具体用法可以查帮助命令:

/usr/local/mongodb/bin/mongo --help

由于我们没有设置密码,所以可以在安装所在服务器用如下命令尝试登录test数据库

./mongo localhost:27017/test   

 # 这里也可以用仅用命令./mongo ,如果前面我们自定义了连接端口 为12355,而不带参数的命令./mongo默认是用27017端口的。

或用以下命令

./mongo --port 27017

 

登录成功后以打印信息未出现的闪动的“>”符号为准,如下:

 

8、接着上面,关闭mongo后台服务

有多种关闭方式,这里介绍的是进入mongo互动模式后执行相关关闭命令的方式。

按如下命令操作后显示,则成功关闭

 

9、设置开机启动mongdb

1)、编写自定义服务

在/usr/lib/systemd/system/目录下新建mongodb.service文件

内容如下:

[Unit]

Description=mongodb

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb_data/conf/mongo.conf

ExecReload=ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/mongodb_data/conf/mongo.conf

[Install]

WantedBy=multi-user.target

【注意】我当时在编写上面文件后用systemctl命令无法启动,会报

此类错误,后面查系统日志文件/var/log/messages :

当时分析这问题很久没法解决,后面还是在mongodb.service文件里把行与行之间的换行删掉就没有报错了。

2)、设置权限

chmod 754 mongodb.service

3)、systemctl 启动命令

 

#启动服务

systemctl start mongodb.service

#关闭服务

systemctl stop mongodb.service

#开机启动

systemctl enable mongodb.service

 

4)、开放端口(主要是centos6或更旧版本的设置)

cd /etc/sysconfig/ (切换目录)

 

iptables文件添加-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT(注意:-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT要加在-A INPUT -j REJECT --reject-with icmp-host-prohibited之前,不然启动无效)

 

(注意:如果没有iptables这个文件,因为centos7自带firewall

输入命令:yum install iptables-services更新或者安装iptables

然后:systemctl enable iptables 启动iptables

最后 systemctl start iptables 打开iptables)

 

10、基本操作

 

1)、创建用户

use admin

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

 

2)、创建数据库

use web

db.items.insert({"name":"web"})

 

3)、给新创建的库加入用户

use web

db.createUser(
{
user: "lhy",
pwd: "lu5896848",
roles: [ { role: "readWrite", db: "web" } ]
}
)

 

4)、关闭数据库

use admin

db.shutdownServer()

 

5)、常用命令

 

use dbname # 使用哪个数据库

db.auth("user","pwd") # 验证

show dbs # 显示所有数据库

show users # 显示当前数据库的所有用户

db.dropDatabase() # 删除数据库

db.shutdownServer() # 关闭数据库

 

6)、备份恢复数据库

备份

mongodump -d <数据库名><文件夹目录>

恢复

mongorestore -d <数据库名><文件夹目录>

 

 

7)、系统句柄调优(根据实际情况而定)

 

vim /etc/security/limits.conf

mongod soft nofile 64000

mongod hard nofile 64000

mongod soft nproc 32000

mongod hard nproc 32000

 

11、登录认证

 

上面的配置是没有密码认证的,实际环境中是要加登录验证的 

修改mongod.conf (见文尾参考资料所用配置格式)添加下面的内容:

security:

authorization: enabled

 

重启mongodb,再次登录(我们以前面配置的lhy账户为例(dba账户配置的密码为lu5896848)) 

首先连接mongo,在进行认证

 

# ./bin/mongo --port 12355

MongoDB shell version v4.0.1

connecting to: mongodb://127.0.0.1:27017

MongoDB server version: 4.0.1

> use admin

switched to db admin

> db.auth("lhy","lu58966848")

1

>

 

 

 

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐