注: 本次安装版本为4.0
下载mongodb的tar包:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.6.tgz
指定解压到/usr/local 目录下
tar -xvf mongodb-linux-x86_64-4.0.6.tgz -C /usr/local/
为了方便识别,我们改一下名字:
mv /usr/local/mongodb-linux-x86_64-4.0.6/ /usr/local/mongodb
为了便于命令启动,需要编辑全局变量PATH:
echo export PATH=$PATH:/usr/local/mongodb/bin >> /etc/profile.d/mongodb.sh
启动一下配置:
source /etc/profile
//查看一下帮助
mongod --help
添加mongodb服务的配置文件:
vi /usr/local/mongodb/bin/mongodb.conf
#数据库路径
dbpath=/opt/mongodb/data/db
#日志输出文件路径
logpath=/opt/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户
auth=true
创建配置文件中所添加的数据库目录和日志目录
cd /opt
mkdir -p mongodb/data/db
mkdir -p mongodb/logs
在通过配置启动服务:
mongod -f /usr/local/mongodb/bin/mongodb.conf
about to fork child process, waiting until server is ready for
connections. forked process: 1694 child process started successfully,
parent exiting
这里系统提示启动成功
查看一下进程服务是否启动:
ss -antplu
测试:
我们之前是在了系统环境变量可以直接启用:mongo
退出quit()
为了看页面效果我们进行消除警告:
vi /etc/rc.d/rc.local
touch /var/lock/subsys/local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
ulimit -u 65535
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
因为这个/rc.local文件是系统半丢弃的引导文件,我们要将它重新加入引导序列里:
chmod +x /etc/rc.d/rc.local && chmod +x /etc/rc.local
去调整一下文件数:
修改配置文件 vi /etc/security/limits.conf
添加配置信息
* soft nofile 65535
* hard nofile 65535
* soft nproc 32000
* hard nproc 32000
软硬限制和文件设置
关闭mongodb:
在mongodb内部进行停止服务:先use admin
后执行 db.shutdownServer();
**
mongodb设置开机自启:
**
vi /usr/lib/systemd/system/mongodb.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl enable mongodb.service
Created symlink from
/etc/systemd/system/multi-user.target.wants/mongodb.service to
/usr/lib/systemd/system/mongodb.service.
这边提示创建了从/etc/systemd/system/multi-user.target.wants/mongodb.service到/usr/lib/systemd/system/mongodb.service的符号链接。
到此mongodb安装完毕!
创建用户和管理员授权:
管理员:
use admin
db.createUser(
{ user: "admin",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
超级用户:
db.createUser(
{
user:"root",
pwd:"123456",
roles:["root"]
}
)
bitrade用户
use bitrade
db.createUser(
{ user: "bitroot",
pwd: "123456",
roles: [ { role: "readWrite", db: "bitrade" } ]
}
)
验证是否创建用户,只有验证后才能做其他操作:
use admin
db.auth("admin","123456")
#认证,返回1表示成功