mongodb安装,及启动失败遇到的问题
安装
centos服务器,yum安装,简单,对新手友好。
配置yum源
1、在/etc/yum.repos.d/ 目录下 创建 mongodb-org-4.2.repo 文件
vi /etc/yum.repos.d/mongodb-org-4.2.repo
2、添加如下yum源
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asco
安装
1、完全安装
yum install -y mongodb-org
2、安装指定组件
mongodb还可以安装指定的组件,只需要指定组件名称和版本号
yum install -y mongodb-org-4.2.2 mongodb-org-server-4.2.2 mongodb-org-shell-4.2.2 mongodb-org-mongos-4.2.2 mongodb-org-tools-4.2.2
3、创建默认目录
创建日志目录和数据目录,yum安装,mongodb的配置文件位置:/etc/mongod.conf,其中配置了数据存储目录(dbPath: /var/lib/mongo)和日志目录(path: /var/log/mongodb/mongod.log
),其他文章有说yum安装不会自动创建这两个目录,需要手动创建。(ps:本人安装时目录已经创建,可以先检查一下目录是否创建)
mkdir -p /var/lib/mongo
mkdir -p /var/log/mongodb
mongod.conf文件内容:
[root@iZ2ze4iz399acw5j2463x1Z lib]# cat /etc/mongod.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# Where and how to store data.
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
# engine:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
4、设置远程访问
修改配置文件:/etc/mongod.conf,bindIP:127.0.0.1 修改为:0.0.0.0。
最后要记得关闭防火墙或者把Mongodb的端口号:27017加入到安全组。
5、运行Mongodb
启动
#使用的默认配置(/etc/mongod.conf)启动
systemctl start mongod
#指定配置文件启动,可以指定自己的配置文件
/usr/bin/mongod -f /etc/mongod.conf
停止
#不推荐,使用这个是kill PID号,会出问题
systemctl stop mongod
#正确的关闭方式
use admin
db.shutdownServer()
使用mongodb
#进入到mongodb命令行
mongo
# 退出命令行
exit
配置账号、密码
新安装的mongodb默认不开启用户认证,也没有账号、密码。配置账号需要先启动mongodb服务配置,进入mongodb配置账号、密码。然后停掉mongodb,修改配置文件开启用户认证。再启动,账号密码就生效了。
1、配置用户、密码
1、mongodb角色:https://www.cnblogs.com/dbabd/p/10811523.html#_label20
不同的角色拥有不同的权限
2、添加用户
开启用户名和密码认证,创建mongodb管理用户需进入admin数据库。
#选择数据库
use admin
#创建用户
db.createUser({user:"myAccount",pwd:"myPassword",roles:["root"]})
#查看用户
show users
#修改用户
db.updateUser("myAccount",{pwd:"newPassword"})
#删除用户
db.dropUser("myAccount")
#用户验证
db.auth('myAccount','myPassword')
2、查看配置文件认证状态
修改配置文件开启mongodb用户认证,在配置文件中加入以下配置。
yaml格式配置文件的用户认证配置
#security
security:
authorization: enabled
普通配置文件的用户认证配置
auth=true
3、重启mongodb
不要用kill -9 pid,会出问题。
遇到的问题
1、路径错误
mongod.conf中配置的log和db路径不存在,创建目录,并赋权。
#路径:/dbpath
chown -R mongod:mongod /dbpath
2、没有权限
如果不是新安装,或者指定配置文件启动,可能会遇到没有权限,导致不不能启动。可以看具体的日志输出。给报错的路径赋权。
查看日志
#路径:/var/log/mongodb/mongod.log,为配置文件中配置的log路径
tail -f /var/log/mongodb/mongod.log
赋权
chown -R mongod:mongod /dbpath
参考文章
1、https://blog.csdn.net/qq_38324424/article/details/105863929?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161520641216780266272059%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161520641216780266272059&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-105863929.pc_search_result_no_baidu_js&utm_term=centos+yum%E5%AE%89%E8%A3%85mongodb
2、https://www.cnblogs.com/dbabd/p/10811523.html#_label20
3、https://blog.csdn.net/dn1115680109/article/details/88754067