0下载mongodb

0.1下载

去mongodb官网下载,传送门
选择相应版本进行下载如图所示:
如图所示

0.2解压tar包

进入所mongodb下载位置,进行解压

tar -zxvf mongodb-linux-x86_64-rhel62-4.0.4.tgz

如图所示
之后将解压包拷贝到指定目录

mv mongodb-linux-x86_64-rhel62-4.0.4/ /usr/local/mongodb

1创建配置文件

1.1创建数据库文件夹

进入对应的文件夹下

mkdir data

1.2创建日志文件

mkdir log

1.3 创建配置文件夹etc

mkdir etc

1.4 创建配置文件

进入etc目录下

cd /usr/local/mongodb/etc

在这个目录下创建mongodb.conf

vim mongodb.conf

这里根据个人的安装路径进行配置,基于我的路径进行如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/log/mongodb.log
#错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
logappend = true
#启用日志文件,默认启用
journal = true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet = true
#端口号 默认为27017
port=27017
#关闭http接口,默认关闭27018端口访问
#nohttpinterface = true
#以守护程序的方式启用,即在后台运行
fork = true

2启动mongodb

2.1简单的启动mongodb

进入mongodb文件下的bin文件夹下

cd /usr/local/mongodb/bin

执行命令./mongo即可

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

之后我们可以查看27017端口号是否启动

netstat -tunlp|grep 27017

如图所示:
如图所示

2.2添加管理用户

(mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase)
利用mongo命令连接mongoDB服务器端:

./mogo

输入下面命令进行添加用户

1
2
3
4
> use admin
switched to db admin
> db.createUser( {user: "pfnieadmin",pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});

成功后,你将会看到:
如图所示
添加完用户后可以使用show users或db.system.users.find()查看已有用户.
如图所示
添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭.

2.3使用权限方式启动

在配置文件中添加:auth=true , 然后启动:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/log/mongodb.log
#错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
logappend = true
#启用日志文件,默认启用
journal = true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet = true
#端口号 默认为27017
port=27017
#关闭http接口,默认关闭27018端口访问
#nohttpinterface = true
#以守护程序的方式启用,即在后台运行
fork = true
auth=true

进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。

use admin
db.auth(“pfnieadmin”,”123456”) #认证,返回1表示成功

如图所示,在进入mogoshell时直接用show users会报错,只有先认证后才能使用shell
如图所示

3优化mongodb

3.1设置mongod环境变量

cd /etc
vim profile

到etc下打开profile文件
在/etc/profile文件中,添加

export PATH=$PATH:/usr/local/mongoDB/mongodbserver/bin

如图所示:
如图所示
执行source /etc/profile,使系统环境变量立即生效

3.2设置mongo软连接

ln -s /usr/local/mongodb/bin/mongo /usr/bin/mongo

配置完成这些,我们关闭mongo服务,可以随处启动mongo

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

4遇到的坑

如果单单是这样配置后,mongodb只能在本地使用,我们可以测试一下,输入命令

netstat -tnlp

如图所示:
如图所示
想要远程使用,需要配置配置文件mongodb.conf
在mongodb.

bind_ip=0.0.0.0

最终配置文件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/log/mongodb.log
#错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
logappend = true
#启用日志文件,默认启用
journal = true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet = true
#端口号 默认为27017
port=27017
#关闭http接口,默认关闭27018端口访问
#nohttpinterface = true
#以守护程序的方式启用,即在后台运行
fork = true
auth=true
#绑定端口号,否则外网无法访问
bind_ip=0.0.0.0

这时候我们再测试

netstat -tnlp

结果如图所示:
如图所示
之后我们需要配置腾讯云安全组:
如图所示
这时候我们通过浏览器进行访问,如图所示:
如图所示
这样我们就通过我们的本地工具进行连接吧,这里推荐工具ROBO
连接后效果如图所示:
如图所示
为了方便使用我这里先把auth=true注掉取消认证

最后更新: 2018年11月25日 17:24

原始链接: http://linjiad.github.io/2018/11/12/安装mongodb/

× 请我吃糖~
打赏二维码