安装wget
yum install -y wget
创建目录
mkdir -p /opt/soft /opt/tarball /opt/src
安装mongo
# 创建mongo data、log目录mkdir -p /opt/mongo/data /opt/mongo/logs
cd /opt/tarballwget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.13.tgz
tar -xvf mongodb-linux-x86_64-4.0.13.tgz -C /opt/soft
cd /opt/soft/mongodb-linux-x86_64-4.0.13/
编辑mongo.conf配置文件
vi mongodb.conf,内容如下:
dbpath=/opt/mongo/datalogpath=/opt/mongo/mogo.logfork=trueport=27017logappend=true#auth=truebind_ip=0.0.0.0
启动mongo
/opt/soft/mongodb-linux-x86_64-4.0.13/bin/mongod -f /opt/soft/mongodb-linux-x86_64-4.0.13/mongodb.conf
# 检查启动端口情况netstat -nlpt | grep 27017
访问mongo(非鉴权模式 注释了auth=true)
# 本地client访问mongodb/opt/soft/mongodb-linux-x86_64-4.0.13/bin/mongo
创建一个用户管理员角色账号
# 查看当前db列表show dbs# 切换到admin db
use admin# 创建用户管理员角色账号db.createUser({user: "useradmin",pwd: "123456",roles: ["userAdminAnyDatabase"]})
# 然后退出exit
# 停止mongodb/opt/soft/mongodb-linux-x86_64-4.0.13/bin/mongod --shutdown -f /opt/soft/mongodb-linux-x86_64-4.0.13/mongodb.conf
修改配置文件,修改为鉴权模式登录
vi /opt/soft/mongodb-linux-x86_64-4.0.13/mongodb.conf放开auth=true这一样注释
重新启动mongodb
/opt/soft/mongodb-linux-x86_64-4.0.13/bin/mongod -f /opt/soft/mongodb-linux-x86_64-4.0.13/mongodb.conf
重新访问mongodb(鉴权模式 放开注释auth=true)
下面步骤必须一气呵成,否则需要重新来过,不要问为什么,这是mongodb的个性。
# 本地client访问mongodb/opt/soft/mongodb-linux-x86_64-4.0.13/bin/mongo
# 切换到admin dbuse admin# 使用useradmin账号登录db.auth("useradmin","123456")
# 创建my_db,并切换到my_dbuse my_db
# 在my_db下创建普通用户lazy,角色为readWrite表示该用户拥有my_db的读写权限db.createUser( { user:"lazy", pwd:"123456", roles:["readWrite"] })# 在my_db下使用lazy账号登录db.auth("lazy","123456")
# 在my_db下插入一条doc,这样才算真正创建my_db数据库db.createCollection("ok")
mongodb角色介绍
read:允许用户读取指定数据库readWrite:允许用户读写指定数据库dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profileuserAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。root:只在admin数据库中可用。超级账号,超级权限
---------------------- 正文结束 ------------------------