MongoDB的安装启动和服务化以及连接是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。下载:https://www.mongodb.com/download-center/community/releases ,注意下载对应的版本解压:将下载的文件解压到一个文件夹创建数据文件夹 mongo-data, 创建log文件夹:mongo-log本文中的目录是这样的
所有命令相对路径都是相对 /opt/mongo创建用户组和用户
第一个条命令是添加用户组,第二条是向 mongod 用户组添加用户 mongod组mongo 用户 对 mongo相关文件的访问权限启动./bin/mongod --logpath=log/mongo.log --dbpath=data --port=9999 --fork
上面的命令是用登出用户启动的,mongo.log 这个文件要先创建好,否则会报错–fork 代表后台运行测试是否启动成功./bin/mongo --port=9999
使用mongo客户端连接一下,上面这个命令是连接localhosts的9999端口上的MONGOD连接成功后你会看到很多warnAccess control is not enabled for the database. Read and write access to data and configuration is unrestricted,没有使用访问权限限制,后面解决You are running this process as the root user, which is not recommended不推荐使用root 启动服务,后面解决This server is bound to localhost. Remote systems will be unable to connect to this server. Start the server with –bind_ip 说现在服务使用 localhost启动,本机以外的客户端不能访问,并告诉你应该怎么处理,后面在配置文件中解决Soft rlimits too low :这个问题的官方文档:https://docs.mongodb.com/manual/reference/ulimit/这个问题的大概意思是linux系统对用户使用各种资源有数量限制,当前系统的一个限制会影响mongo的运行,使用ulimit -a
查看各种限制官方指出下面几种资源会对mongo的运行有影响,并给出了推荐值
参照上面的推荐值,和-ulimit -a
的结果对比一下(按照前面的 -f,-t来对比),哪个不对,就改哪个,比如 现在系统的 -n
值是 1024 ,比推荐的64000小,那么就执行命令 -ulimit -n 64000
, 之后kill服务再启动如果你的系统是使用systemd的,那么也可以在 .service 的文件中加入下面的配置
配置文件:一个简单的例子启动时:bin/mongod -f mongod.conf
systemctl 启动mongodb
对应配置文件应该有如下的配置
如果不设置 pid文件,只设置 fork为true,不能启动,如果两个都没有,那么启动时(service mongo start)时会卡住,但这时会 ctrl + c 你会发现 服务已经启动了。。只有在这两个选项都有的时候,才能特别正常另外注意 .service 文件中的Group 与User两个选项,设置为最开始的 mongo 就会消除前面的警告创建用户不创建用户你的数据库就只能在没有安全的情况下运行创建用户以后就可以在登陆 mongo只要都带着用户登陆信息到此为止,你的mongo就可以开启 认证登陆了,mongo的权限是基于角色的,我们现在创建了一个root角色的 superuser 用户在配置文件中加入下面的配置,开启认证登陆
重启服务登陆时有两种方式
现在我们拥有一个root权限的 superman 用户先在不需要 auth 的情况下登陆创建后 use admin
,切换到admin 数据库创建用户完整的创建用户的语句
对上面的语句解释:所有这个用户在需时就需要这样
或
使用 reporting 数据库创建一个用户,用户名 reportsUser, 密码:2222 , 对 reporting,products,sales 三个数据库有读的权限,对 acc 香港云主机ounts 数据库有读写权限删除/添加用户角色
更改用户密码先用有更新用户密码权限的用户登录下面
看完上述内容,你们掌握MongoDB的安装启动和服务化以及连接是怎样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注开发云行业资讯频道,感谢各位的阅读!
50070 //namenode http port50075 //dat 香港云主机anode http port50090 //2namenode http port8020 //namenode rpc port50010 //datanode rpc …
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。