朝阳周边做网站的公司,好的免费个人网站,wordpress 文字排版,无锡做网站说来这个问题#xff0c;都觉得不可思议#xff0c;一个数据库怎么没有超级用户呢#xff0c;我们知道#xff0c;MYSQL#xff0c;PG#xff0c;ORACLE等#xff0c;创建好后#xff0c;都有一个默认的超级用户#xff0c;MONGODB也有超级用户#xff0c;但需要自己…说来这个问题都觉得不可思议一个数据库怎么没有超级用户呢我们知道MYSQLPGORACLE等创建好后都有一个默认的超级用户MONGODB也有超级用户但需要自己去建立默认是没有的。国内一些软件公司可能为了安全的因素在部署应用时就没有创建超级用户同时启用了权限认证auth然后就创建自己的业务数据库导致后面维护时只能登录到他的库去看该库的信息但整个MONGODB的运行信息由于没有超级用户信息很多信息都无法获取比如运行 db.serverStatus() 都会报错,这种情况下后面我们怎么才能把超级用户加进去呢
下面我们来讲一下后期添加超级用户的步骤 1.关闭配置文件权限认证 #security: #authorization: enabled 要加超级用户必须要关闭权限认证这个通过修改配置文件来实现。 2.关闭数据库 关闭数据库可以通过操作系统方式来实现 ps -ef|grep mongod kill -9 pid 或者 use admin db.shutdownServer(); 3.做好备份 为了避免出现失误在后续的操作之前最好把数据库做一个备份 我这里使用 tar 命令备了一个后面有问题直接使用tar 还原即可 tar cvf mongodb.tar /data/mongo/db 4.重启数据库 mongod -f /etc/mongodb.conf
以第一步关闭权限认证方式生效。 5.登录数据库 mongo --hostlocalhost --port27017
这个时候登录不再需要用户账户信息就可登录。 6.增加超级用户 use admin --切换到ADMIN数据库 switched to db admin show tables; --查看一下目前里面有哪些表 system.users system.version
--创建管理用户 db.createUser({user:root, pwd:sztechroot, roles:[{role:root,db:admin}]})
Successfully added user: { user : root, roles : [ { role : root, db : admin } ] } 7.关闭数据库 use admin db.shutdownServer(); 8.修改配置文件增加权限验证
vim /etc/mongodb.conf#登录验证 authtrue 9.重新启动数据库 mongod -f /etc/mongodb.conf
这个时候开启了权限认证 10.本地登录 - 连接时验证 $ mongo use admin switched to db admin db.auth(username, password)
比如我们这里 db.auth(root,sztechroot) 我也可以去验证一下业务用户 db.auth(ordb,ordbordb)
没有问题然后使用业务用户登录去做一些查询操作验证业务用户可以正常操作。 到此超级用户添加成功。