Linux for MongoDB
一、环境信息
CentOs 7
MongoDB 4.0.10
二、下载安装包
可以进入官网下载安装包:https://www.mongodb.com/download-center/community?jmp=nav
二、上传tgz包,并解压:
本人安装目录为:/opt 解压到下面
tar zxvf mongodb-linux-x86_64-4.0.10.tgz
三、配置MongoDB相关配置
1、配置环境变量
vim /etc/profile 或 vi /etc/profile
然后添加:
#mongodb export PATH=$PATH:/opt/mongodb-4.0.10/bin
然后保存并退出。
source /etc/profile
2、创建文件
2.1 、创建MongoDB数据存放文件夹和日志记录文件夹,为后面的配置文件使用:
mkdir -p /data/mongodb
mkdir -p /logs
2.2 、创建MongoDB运行时使用的配置文件:
进入bin目录下:cd /opt/mongodb-4.0.10/bin
创建mongodb.conf配置文件:vim mongodb.conf
dbpath = /data/mongodb #数据文件存放目录 logpath = /logs/mongodb.log #日志文件存放目录 port = 27017 #端口 fork = on#以守护程序的方式启用,即在后台运行 #auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释 bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
保存并退出
四、运行MongoDB
1、启动MongoDB
进入bin目录下:cd /opt/mongodb-4.0.10/bin 执行下面命令:
./mongod -f mongodb.conf
如下图:证明启动成功。
执行ps 查看MongoDB是否启动成功: 注:关闭的话,就kill 即可
2、进入MongoDB
还是bin目录下执行下面命令进入:
./mongo
3、创建MongoDB账号:
由于刚开始在配置文件中加了auth=true,导致本地可正常访问,所以进入后配置账号
使用admin数据库:use admin ,注意admin数据库下创建的账号权限是所有库通用的,即是全局认证的。
db.createUser({ user: 'root', pwd: 'root',roles: [ { role: "dbOwner", db: "test" }] })
第一个root:账号
第二个root:密码
dbOwner: 角色
db:数据库名称
如下图:执行成功,并修改mongodb.conf 打开auth 并重启数据库:
4、使用远程连接:
首先打开端口:mongodb默认端口 27017
/sbin/iptables -I INPUT -p tcp --dport 27017 -j ACCEPT
填写配置,并输入账号密码即可连接。
5、测试连接
进入mongodb以后,新建查询 可以看到正常插入,并查询出 至此ok
其它知识:
1、报错not authorized on admin to execute command ,或者添加其它库权限,操作如下
角色授权分两种,一种是直接在当前库中创建用户并授予相关权限。如admin库中创建admin用户。另一种情况是
将在admin中创建的用户授予操作其他库的权限,相关授权命令如下:
授予角色:
db.grantRolesToUser("userName", [ { role:"<role>", db: "<database>"} ])
取消角色:
db.grantRolesToUser("userName", [ { role:"<role>", db:"<database>"} ])
下面我们在admin库中执行以下命令:
db.grantRolesToUser("admin", [ { role:"dbOwner", db:"test"} ]) ;
##admin 指的是用户名 test 指的要授权的数据库
参考:
https://blog.csdn.net/huhu_study/article/details/80941317
https://blog.csdn.net/yzh_1346983557/article/details/81735755