mgo02_mongodb启动警告处理
** WARNING: Access control is not enabled for the database.
原因分析:新版本的MongDB增加了安全性设计,推荐用户创建使用数据库时进行验证。如果用户想建立简单连接,则会提示警示信息。
解决方案:
创建管理员并设置密码
>use admin
>db.createUser(
{
user: "admin", //用户名
pwd: "passwd", //密码
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] //设置权限
}
)
重启数据库服务器
mongod --auth --port 27017
“--auth”命令即表示访问数据库需要认证。此处可不指定端口,则默认为27017。
启动后即可看到不再提示报警信息。
** WARNING: You are running this process as the root user, which is not recommended.
groupadd mgdb
useradd -g mgdb mgdb
passwd mgdb
Automng_123
chown -R mgdb.mgdb /usr/local/mongodb/
chown -R mgdb.mgdb /data/db/
su - mgdb
export PATH=/usr/local/mongodb/bin:$PATH
mongod -auth --port 27017
** WARNING: This server is bound to localhost.
** Remote systems will be unable to connect to this server.
** Start the server with --bind_ip <address> to specify which IP
** addresses it should serve responses from, or with --bind_ip_all to
** bind to all interfaces. If this behavior is desired, start the
** server with --bind_ip 127.0.0.1 to disable this warning.
mongod -auth --port 27017 --bind_ip=192.168.56.82
** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
** We suggest setting it to 'never'
查看大页为零
$ grep Huge /proc/meminfo
AnonHugePages: 92160 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
临时解决方案
echo never >> /sys/kernel/mm/transparent_hugepage/enabled
echo never >> /sys/kernel/mm/transparent_hugepage/defrag
永久修改参考请https://www.cnblogs.com/ywcz060/p/5543228.html
然后再次启动mongodb
$ mongod -auth --port 27017 --bind_ip=192.168.56.82
2018-07-19T14:46:06.610+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2018-07-19T14:46:06.620+0800 I CONTROL [initandlisten] MongoDB starting : pid=2723 port=27017 dbpath=/data/db 64-bit host=red4.local
2018-07-19T14:46:06.620+0800 I CONTROL [initandlisten] db version v4.0.0
2018-07-19T14:46:06.620+0800 I CONTROL [initandlisten] git version: 3b07af3d4f471ae89e8186d33bbb1d5259597d51
2018-07-19T14:46:06.620+0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
2018-07-19T14:46:06.620+0800 I CONTROL [initandlisten] allocator: tcmalloc
2018-07-19T14:46:06.620+0800 I CONTROL [initandlisten] modules: none
2018-07-19T14:46:06.620+0800 I CONTROL [initandlisten] build environment:
2018-07-19T14:46:06.620+0800 I CONTROL [initandlisten] distmod: rhel70
2018-07-19T14:46:06.620+0800 I CONTROL [initandlisten] distarch: x86_64
2018-07-19T14:46:06.620+0800 I CONTROL [initandlisten] target_arch: x86_64
2018-07-19T14:46:06.620+0800 I CONTROL [initandlisten] options: { net: { bindIp: "192.168.56.82", port: 27017 }, security: { authorization: "enabled" } }
2018-07-19T14:46:06.621+0800 I STORAGE [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2018-07-19T14:46:06.621+0800 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=407M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(wait=0),verbose=(recovery_progress),
2018-07-19T14:46:07.437+0800 I STORAGE [initandlisten] WiredTiger message [1531982767:437636][2723:0x7f161f9eab00], txn-recover: Main recovery loop: starting at 6/6144
2018-07-19T14:46:07.530+0800 I STORAGE [initandlisten] WiredTiger message [1531982767:530163][2723:0x7f161f9eab00], txn-recover: Recovering log 6 through 7
2018-07-19T14:46:07.594+0800 I STORAGE [initandlisten] WiredTiger message [1531982767:594159][2723:0x7f161f9eab00], txn-recover: Recovering log 7 through 7
2018-07-19T14:46:07.642+0800 I STORAGE [initandlisten] WiredTiger message [1531982767:642404][2723:0x7f161f9eab00], txn-recover: Set global recovery timestamp: 0
2018-07-19T14:46:07.680+0800 I RECOVERY [initandlisten] WiredTiger recoveryTimestamp. Ts: Timestamp(0, 0)
2018-07-19T14:46:07.713+0800 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2018-07-19T14:46:07.714+0800 I NETWORK [initandlisten] waiting for connections on port 27017
使用用户认证后的登录方式
mongo --username=admin --password=passwd --host=192.168.56.82 --port=27017
补充说明,在测试过程中mongo启动占用内存约40M,这个值对于数据库来说,是非常小的。