MongoDB安装部署及报警信息解决方法

安装部署

  • 下载地址: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(‘用户名’,‘密码’)进行身份验证

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值