MongoDB的安装
1、Windows下MongoDB的安装及配置
1.1 下载Mongodb安装包
下载地址:
https://www.mongodb.com/try/download
http://www.mongodb.org/dl/win32
MongoDB Windows系统64位下载地址:http://www.mongodb.org/dl/win32/x86_64
MongoDB Windows系统32位下载地址:http://www.mongodb.org/dl/win32/i386
1.2 安装MongoDB
下载后的安装包:mongodb-win32-x86_64-2008plus-3.4.24-signed.msi
安装比较简单,类似于普通软件,中间主要是选择用户自定义安装路径,然后不断下一步,安装至结束。
这里安装目录选择:C:\zsxsoftware
。
1.3 先创建数据库文件的存放位置
在 MongoDB 下创建 data,在 data 下再创建 db:C:\zsxsoftware\mongodb\data\db
因为启动 mongodb 服务之前需要必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成
功。
1.4 启动MongoDB服务
1、打开cmd命令行
2、进入C:\zsxsoftware\mongodb\bin
目录
3、输入如下的命令启动mongodb服务:
$ mongod --dbpath C:\zsxsoftware\mongodb\data\db
4、在浏览器输入 http://localhost:27017
(27017是mongodb的端口号) 查看,若显示:
则表示,连接成功。如果不成功,可以查看端口是否被占用。
但是在本地 windows 服务中,是没有配置上 mongodb 服务的,下面我们将 MongoDB 配置为服务。
1.5 配置本地windows mongodb 服务
这样可设置为开机自启动,可直接手动启动关闭,可通过命令行 net start MongoDB
启动,该配置会大大方
便。
1、先在 data 文件下创建一个新文件夹 log (用来存放日志文件)
2、在Mongodb新建配置文件 mongo.config
3、用记事本打开 mongo.config
,并输入:
dbpath=C:\zsxsoftware\mongodb\data\db
logpath=C:\zsxsoftware\mongodb\data\log\mongo.log
4、用管理员身份打开 cmd,跳转到 C:\zsxsoftware\mongodb\bin
目录下,输入:
$ mongod --config C:\zsxsoftware\mongodb\mongo.config --install --serviceName "MongoDB"
即根据刚创建的 mongo.config 配置文件安装服务,名称为 MongoDB。
完成后,再次查看本地的服务。
如果成功的话,会发现本地服务多了MongoDB服务。
5、服务的启动和关闭
启动 MongoDB 服务
$ net start MongoDB
关闭 MongoDB 服务
$ net stop MongoDB
移除 MongoDB 服务
C:\zsxsoftware\mongodb\bin\mongod.exe --remove
命令行下运行 MongoDB 服务器和配置 MongoDB 服务任选一个方式启动就可以。
1.6 MongoDB Compass
MongoDB Compass 是一个图形界面管理工具,我们可以在后面自己到官网下载安装,下载地址:
https://www.mongodb.com/download-center/compass
更多版本的下载:
https://github.com/mongodb-js/compass/releases
这里需要 MongoDB 的版本在 3.6 以上或者更高,否则 Compass 无法连接。
这里就不再介绍该软件的安装和使用。
1.7 MongoDB后台管理Shell
如果你需要进入 MongoDB 后台管理,你需要先打开 mongodb 装目录的下的bin目录,然后执行 mongo.exe 文
件,MongoDB Shell 是 MongoDB 自带的交互式 Javascript shell,用来对 MongoDB 进行操作和管理的交互式环
境。当你进入 mongoDB 后台后,它默认会链接到 test 文档(数据库):
C:\zsxsoftware\mongodb\bin>mongo
MongoDB shell version v3.4.24
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.24
Server has startup warnings:
2021-11-30T09:10:16.836+0800 I CONTROL [initandlisten]
2021-11-30T09:10:16.836+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2021-11-30T09:10:16.836+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2021-11-30T09:10:16.836+0800 I CONTROL [initandlisten]
>
由于它是一个JavaScript shell,您可以运行一些简单的算术运算:
> 2 + 2
4
>
db 命令用于查看当前操作的文档(数据库):
> db
test
>
插入一些简单的记录并查找它:
# 将数字10插入到runoob集合的x字段中
> db.runoob.insert({x:10})
WriteResult({ "nInserted" : 1 })
# 查找
> db.runoob.find()
{ "_id" : ObjectId("5604ff74a274a611b0c990aa"), "x" : 10 }
>
退出:
> exit
bye
2、Linux下MongoDB安装和配置详解
2.1 创建MongoDB的安装路径
在 /home/zhangshixing
创建文件夹 mongoDB
$ mkdir mongoDB
2.2 上传文件到Linux服务器上
1、在 https://www.mongodb.org/dl/linux
下载mongoDB对应版本的安装包
下载的安装包为:mongodb-linux-x86_64-3.4.24.tgz
2、通过工具上传到 linux 服务器上
2.3 解压文件
1、进入到/home/zhangshixing/mongoDB
目录:
$ cd /home/zhangshixing/mongoDB
2、运行如下命令:
$ tar -zxvf mongodb-linux-x86_64-3.4.24.tgz
3、重命名
$ mv mongodb-linux-x86_64-3.4.24 mongodbserver
2.4 创建配置文件
1、创建数据库文件夹
$ cd /home/zhangshixing/mongoDB/mongodbserver
$ mkdir data
2、创建日志文件夹
$ cd /home/zhangshixing/mongoDB/mongodbserver
$ mkdir log
3、创建配置文件夹与配置文件
3.1 创建配置文件夹etc
$ cd /home/zhangshixing/mongoDB/mongodbserver
$ mkdir etc
3.2 创建配置文件mongodb.conf
$ cd /home/zhangshixing/mongoDB/mongodbserver/etc
$ vim mongodb.conf
dbpath=/home/zhangshixing/mongoDB/mongodbserver/data
logpath=/home/zhangshixing/mongoDB/mongodbserver/log/mongodb.log
2.5 启动MongoDB
1、mongodb安装好后第一次进入是不需要密码的,也没有任何用户,通过shell命令可直接进入,cd到mongodb
目录下的bin文件夹,执行命令./mongod
即可,如下所示:
./mongod --config /home/zhangshixing/mongoDB/mongodbserver/etc/mongodb.conf
启动成功后,访问http://192.168.99.199:27017/
, 可以看到:
2、添加管理用户( mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase)
利用mongo命令连接mongoDB服务器端:
$ /home/zhangshixing/mongoDB/mongodbserver/bin
$ ./mongo
> use admin
switched to db admin
> db.createUser( {user: "pfnieadmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});
注:添加完用户后可以使用show users
或db.system.users.find()
查看已有用户。
3、添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉
mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用
db.shutdownServer()
关闭。
4、使用权限方式启动MongoDB
在配置文件中添加:auth=true
, 然后启动:
5、进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。
> use admin
> db.auth("pfnieadmin","123456") #认证,返回1表示成功
2.6 将mongod路径添加到系统路径中,方便随处执行mongod命令
1、在/etc/profile
文件中,添加
export PATH=$PATH:/home/zhangshixing/mongoDB/mongodbserver/bin
2、执行source /etc/profile
,使系统环境变量立即生效
2.7 将mongo路径软链到/usr/bin路径下,方便随处执行mongo命令
执行命令: ln -s /home/zhangshixing/mongoDB/mongodbserver/bin/mongo /usr/bin/mongo
2.6 和 2.7 只需要执行一个即可。
2.8 测试是否方便随处执行mongo命令
1、回到任意路径下,执行mongo命令,连接mongod服务
2、关闭mongod服务,执行db.shutdownServer()
解决办法,执行下面的语句,添加权限:
db.updateUser("pfnieadmin",{roles : [{"role" : "userAdminAnyDatabase","db" : "admin"},{"role" : "dbOwner","db" : "admin"}, {"role" : "clusterAdmin", "db": "admin"}]})
然后在执行db.shutdownServer()
或者执行下面的命令关闭:
$ killall mongod
3、启动mongod服务
mongod --config /home/zhangshixing/mongoDB/mongodbserver/etc/mongodb.conf
2.9 MongoDB设置为系统服务并且设置开机启动
1、通过上面简单的操作,我们已经将MongoDB配置文件配置完成,那么接下里我们将为MongoDB设置系统服
务。
2、首先添加MongoDB系统服务,命令如下:vim /etc/rc.d/init.d/mongod
3、打开编辑器后,我们将下面的配置粘贴进去,然后保存
start() {
/home/zhangshixing/mongoDB/mongodbserver/bin/mongod --config /home/zhangshixing/mongoDB/mongodbserver/etc/mongodb.conf
} stop() {
/home/zhangshixing/mongoDB/mongodbserver/bin/mongod --config /home/zhangshixing/mongoDB/mongodbserver/etc/mongodb.conf --shutdown
}
case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo
$"Usage: $0 {start|stop|restart}" exit 1
esac
4、保存完成之后,添加脚本执行权限,命令如下:chmod +x /etc/rc.d/init.d/mongod
5、启动MongoDB,service mongod start
如下图所示,则说明启动成功:
6、可以使用命令service mongod stop
关闭MongoDB服务。
7、验证mongoDB是否启动,输入命令lsof -i :27017
,监测端口已经在使用中,所以说启动已经完成。