安装部署
- 下载地址:https://www.mongodb.com/download-center/community
- 解压: tar zxf mongodb-linux-x86_64-rhel70-4.2.3.GZ
- 移动到常用的目录下 MV mongodb-linux-x86_64-rhel70-4.2.3 /usr/local/mongodb/
- 创建链接:ln -s /usr/local/mongodb/bin/* /usr/local/sbin/
创建数据库目录
- mongodb需要手动创建数据库目录 默认位置为/data/db 其他位置需要(–dbpath)指定
- mkdir -p/data/mongodb/27017/
编辑单实例配置文件(Yaml)
vim /data/mongodb/27017/mongodb.conf
mongodb.conf:
systemLog:
destination: file ##指定一个文件
logAppend: true ##产生日志内容追加到文件
path: /data/mongodb/27017/mongodb.log ##日志存放位置
storage:
dbPath: /data/mongodb/27017/ ##数据文件存放路径
journal:
enabled: true ##记录操作日志,防止数据丢失
processManagement:
fork: true ##以守护进程方式运行
net:
port: 27017 ##端口
bindIp: 127.0.0.1 ##ip
注:因为是Yaml格式 不能使用tab 文件内容格式要一致
启动MongoDB
mongod -f /data/mongodb/27017/mongodb.conf
关闭MongoDB
- kill 进程号 但是可能会导致数据丢失
- 进入mongodb shell
-
use admin
-
db.shutdownServe()
报警信息处理
- WARNING: You are running this process as the root user, which is not
recommended. 提示不能以root用户开启mongodb服务
解决办法:
useradd -r -s /sbin/nologin 用户名
chown -R 用户名:用户名 mongodb存放目录以及数据库目录
su -s /bin/sh -c “/usr/local/mongodb/bin/mongod -f /data/mongodb/27017/mongodb.conf” mongo
##使用bin下的sh 执行命令
- WARNING:/sys/kernel/mm/transparent_hugepage/enabled is ‘always’.
WARNING:/sys/kernel/mm/transparent_hugepage/defarg is ‘always’.
解决办法:vim /etc/rc.d/rc.local 添加如下语句
rc.local:
echo 'never' >/sys/kernel/mm/transparent_hugepage/enabled
echo 'never' >/sys/kernel/mm/transparent_hugepage/defrag
chmod +x /etc/rc.d/rc.local
-
WARNING: Access control is not enabled for the database.
提示没有开启身份认证(- -auth)
解决方法:
先正常开启mongodb
然后mongo登录到shell> use admin > db.createUser({user:"mongo",pwd:"123",roles: [ { role: "dbAdminAnyDatabase", db: "admin" } ]}) ##创建用户 权限为超级用户 所属db:admin > db.grantRolesToUser( "mongo" , [ { role: "hostManager", db: "admin" } ]) ##给予用户hostManager权限,要不使用不了db.shutdownServer() > show users { "_id" : "admin.mongo", "userId" : UUID("b4278850-f83a-418b-b709-868fe61c9bef"), "user" : "mongo", "db" : "admin", "roles" : [ { "role" : "hostManager", "db" : "admin" }, { "role" : "dbAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }
关闭服务 再次使用mongod -f /data/mongodb/27017/mongodb.conf --auth 启动
查看日志已经没有报警信息
登录shell mongo -umongo -p123 或者进入shell db.auth(‘用户名’,‘密码’)进行身份验证