Linux Ubuntu 20.04安装mongodb 4.4.3 并设置开机启动 添加用户密码
原文是这篇文章
https://blog.csdn.net/lipei_csdn/article/details/81805400
(mongodb不推荐root启动)但是考虑到小白只有一个root用户,还是root启动吧。。。
一、下载,解压
# 新建个文件夹 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-4.4.3.tgz tar zxf mongodb-linux-x86_64-ubuntu2004-4.4.3.tgz sudo mv mongodb-linux-x86_64-ubuntu2004-4.4.3.tgz/usr/local/mongodb
二、设置环境变量
sudo vim /etc/profile # 在文件末尾添加一行export PATH=/usr/local/mongodb/bin:$PATH source /etc/profile
三、添加配置文件内容
sudo vim /etc/mongod.conf # mongod.conf的内容 #详细记录输出 verbose = true #绑定IP bind_ip = 0.0.0.0 #指定服务端口号 port = 27017 #指定日志文件,注意是指定文件不是目录 logpath = /var/log/mongodb/logs/mongodb.log #使用追加方式写日志 logappend = true #指定数据库路径 dbpath = /var/lib/mongodb/db #设置每个数据库将被保存在一个单独的目录 directoryperdb = true #启用验证(设置账号密码之后,这里要修改为true) auth = false #以守护进程的方式运行MongoDB,创建服务器进程 fork = true #安静退出 quiet = true # 最大使用内存(不加这个,mongodb会默认最多占一半内存) wiredTigerCacheSizeGB=0.8
根据官方的推荐,data目录和log目录就不改了
sudo mkdir /var/lib/mongodb/db -p sudo mkdir /var/log/mongodb/logs -p sudo touch /var/log/mongodb/logs/mongodb.log
# 修改权限 有其他用户需求的,换一下就行 sudo chown root:root /var/lib/mongodb/db sudo chown root:root /var/log/mongodb/logs/mongodb.log
测试是否安装成功
mongod -f /etc/mongod.conf
启动成功之后,设置开机启动
添加mongodb.service
cd /etc/systemd/system sudo vim mongodb.service # 内容如下,注意,下面有个大坑!个人安装了几个不同人推荐的版本,Type=forking这个很重要
# 否则容易出现运行一下子成功,然后又退出了
# 官方推荐的.service 里面就没有这个forking的选项
[Unit] Description=High-performance, schema-free document-oriented database After=network.target [Service] # 注意这个地方是个坑,如果你的mongodb配置文件中设置的作为守护线程运行,下面这一行一定要加上 Type=forking User=root ExecStart=/usr/local/mongodb/bin/mongod -f /etc/mongod.conf
# 下面是官方推荐的加上去的东西,加上就好了
# Other directives omitted
# (file size)
LimitFSIZE=infinity
# (cpu time)
LimitCPU=infinity
# (virtual memory size)
LimitAS=infinity
# (locked-in-memory size)
LimitMEMLOCK=infinity
# (open files)
LimitNOFILE=64000
# (processes/threads)
LimitNPROC=64000
[Install]
WantedBy=multi-user.target
# 加权限 注意文件路径,还是cd过来的那个路径
sudo chmod +x mongodb.service
这里设置好用户好了
进入mongo 环境
> use admin #创建管理用户,root权限 db.createUser( { user: "root", pwd: "123456", roles: [ { role: "root", db: "admin" } ] } ) #验证 db.auth("root", "123456")
#返回1则成功!
尝试用service启动
# 启动 star@for-vm:~$ sudo service mongodb start # 查看状态,看到active(running)表示成功启动 star@for-vm:~$ sudo service mongodb status ● mongodb.service - High-performance, schema-free document-oriented database Loaded: loaded (/etc/systemd/system/mongodb.service; disabled; vendor preset: enabled) Active: active (running) since 六 2018-08-18 14:00:44 CST; 6s ago Process: 7727 ExecStart=/usr/local/mongodb/bin/mongod -f /etc/mongod.conf (code=exited, status=0/SUCCESS) Main PID: 7729 (mongod) CGroup: /system.slice/mongodb.service └─7729 /usr/local/mongodb/bin/mongod -f /etc/mongod.conf 8月 18 14:00:43 for-vm systemd[1]: Starting High-performance, schema-free document-oriented database... 8月 18 14:00:43 for-vm mongod[7727]: 2018-08-18T14:00:43.861+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none' 8月 18 14:00:43 for-vm mongod[7727]: about to fork child process, waiting until server is ready for connections. 8月 18 14:00:43 for-vm mongod[7727]: forked process: 7729 8月 18 14:00:44 for-vm systemd[1]: Started High-performance, schema-free document-oriented database.
设置开机启动
sudo systemctl enable mongodb
关闭开机启动
sudo systemctl disable mongodb
reboot以验证,通过!!
验证通过之后,将 mongod.conf里面的
auth=false 修改成
auth=true
并用root账户密码登录,就可以了。
如果本地可以登录的上,但是其他电脑远程访问不了,就查看自己的ip端口27017是否开启

浙公网安备 33010602011771号