更新时间:2022-08-22 10:29:35
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
[always] madvise never
# cat /sys/kernel/mm/redhat_transparent_hugepage/defrag
[always] madvise never
配置disable-transparent-hugepages服务
vi /etc/init.d/disable-transparent-hugepages
#!/bin/bash
### BEGIN INIT INFO
# Provides: disable-transparent-hugepages
# Required-Start: $local_fs
# Required-Stop:
# X-Start-Before: mongod mongodb-mms-automation-agent
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Disable Linux transparent huge pages
# Description: Disable Linux transparent huge pages, to improve
# database performance.
### END INIT INFO
case $1 in
start)
if [ -d /sys/kernel/mm/transparent_hugepage ]; then
thp_path=/sys/kernel/mm/transparent_hugepage
elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
thp_path=/sys/kernel/mm/redhat_transparent_hugepage
else
return 0
fi
echo 'never' > ${thp_path}/enabled
echo 'never' > ${thp_path}/defrag
re='^[0-1]+$'
if [[ $(cat ${thp_path}/khugepaged/defrag) =~ $re ]]
then
# RHEL 7
echo 0 > ${thp_path}/khugepaged/defrag
else
# RHEL 6
echo 'no' > ${thp_path}/khugepaged/defrag
fi
unset re
unset thp_path
;;
esac
sudo chmod 755 /etc/init.d/disable-transparent-hugepages
sudo chkconfig --add disable-transparent-hugepages
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
always madvise [never]
# cat /sys/kernel/mm/redhat_transparent_hugepage/defrag
always madvise [never]
ulimit -n 64000
ulimit -u 64000
# groupadd mongod
# useradd mongod -g mongod
# mkdir -p /u01/app/mongod/3.2.8/data
# mkdir -p /u01/app/mongod/3.2.8/logs
# chown -R mongod:mongod /u01/app/mongod/
# mv mongodb-linux-x86_64-rhel62-3.2.8.tgz /home/mongod/
# chown -R mongod:mongod /home/mongod/mongodb-linux-x86_64-rhel62-3.2.8.tgz
su - mongod
$ tar -zxvf mongodb-linux-x86_64-rhel62-3.2.8.tgz
vi /u01/app/mongod/3.2.8/mongod.conf
dbpath=/u01/app/mongod/3.2.8/data
bind_ip=192.168.0.178,localhost
port=27001
oplogSize=5000
logpath=/u01/app/mongod/3.2.8/logs/mongod.log
logappend=true
fork=true
$ /home/mongod/mongodb-linux-x86_64-rhel62-3.2.8/bin/mongod -f /u01/app/mongod/3.2.8/mongod.conf
$ /home/mongod/mongodb-linux-x86_64-rhel62-3.2.8/bin/mongo --port 27001
> use admin
> db.createUser(
{
user:"Superadmin",
pwd:"Password",
roles:[{role:"root",db:"admin"}]
}
)
关闭mongodb进程,并在mongod.conf 文件的最后加上参数auth=true。出于安全考虑,禁止使用27017端口。
--auth: 在mongod启动项中加入--auth,mongodb启动后,就可以完成授权模块的启用);
vi /u01/app/mongod/3.2.8/mongod.conf
dbpath=/u01/app/mongod/3.2.8/data
bind_ip=192.168.0.178,localhost
port=27001
oplogSize=5000
logpath=/u01/app/mongod/3.2.8/logs/mongod.log
logappend=true
fork=true
auth=true
重新启动mongodb进程,创建普通用户。
> db.shutdownServer()
$ /home/mongod/mongodb-linux-x86_64-rhel62-3.2.8/bin/mongo --port 27001 -u Superadmin -p Password --authenticationDatabase admin MongoDB shell version: 3.2.8 > use admin switched to db admin > db.auth("Superadmin","
Password
") 1 > use iot switched to db iot > db.createUser( { user:"myiot", pwd:"abc123", roles:[{role:"readWrite",db:"iot"}] } ) $ /home/mongod/mongodb-linux-x86_64-rhel62-3.2.8/bin/mongo 192.168.0.178:27001/iot -u myiot -p abc123 $ /home/mongod/mongodb-linux-x86_64-rhel62-3.2.8/bin/mongo --port 27001 -u Superadmin -p Passw0rd#72 --authenticationDatabase admin
创建集合索引
$ /home/mongod/mongodb-linux-x86_64-rhel62-3.2.8/bin/mongo 192.168.0.178:27001/iot -u myiot -p abc123
#
> db.ColdSignal.createIndex({ "recordDate" : 1, "deviceCode" : 1 });
> db.ColdSignal.createIndex({deviceCode:1,recordDate:1},{background:true,unique:true})
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
文章结束!