首页 > 编程笔记 > MySQL笔记 阅读:3

MongoDB安装教程(Ubuntu环境)

本节主要介绍 MongoDB 单机模式的安装与使用,详细讲解 Ubuntu 环境下 MongoDB 的安装过程。

提前安装好 Ubuntu 18.04,具体安装方法这里不再介绍。

Ubuntu 环境下安装 MongoDB 的步骤如下:
1) 导入包管理系统使用的 GPG 公钥,代码如下:
# 先安装gnupg和curl
sudo apt-get install gnupg curl
# 导入公钥
curl –fsSL

2) 创建 MongoDB 的源列表,代码如下:
echo "deb [ arch = amd64,arm64 signed-by = /usr/share/keyrings/mongodb-server-6.0.gpg ]

3) 更新本地源列表,代码如下:
sudo apt-get update

4) 安装 MongoDB,代码如下:
sudo apt-get install -y mongodb-org = 6.0.8 mongodb-org-database = 6.0.8
                        mongodb-org-server = 6.0.8
                        mongodb-org-mongos = 6.0.8
                        mongodb-org-tools = 6.0.8
# 或者
sudo apt-get install -y mongodb-org

5) 禁止更新 MongoDB,代码如下。尽管安装时指定了版本,但是有新版本时, MongoDB 还是会默认更新。
echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-database hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-mongosh hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

6) 创建 MongoDB 数据库的文件目录、日志目录和日志,代码如下:
cd /home/ubuntu
mkdir -p mongodb/data
mkdir -p mongodb/log
touch mongodb/log/mongodb.log

7) 启动 mongod 服务,代码如下:
mongod --dbpath /home/ubuntu/mongodb/data --logpath /home/ubuntu/mongodb/log/
mongodb.log --logappend –fork

资源设置

大部分的类 UNIX 操作系统会限制用户可以使用的系统资源,这些限制会影响 MongoDB 的操作,所以需要进行相应的设置。

1) 查看系统资源的限制,代码如下:
sudo -s
ulimit -a

2) 更改系统资源的限制,代码如下:
ulimit -n 210000          # 更改文件描述符的数量
# 不指定-H或-S表示同时更改硬限制和软限制
ulimit -H / -S  -n 210000 # 设置了-H或-S时,只更改一个
# 改变其他的只需替换-n参数
ulimit 的更改是临时性的,会在系统重启时恢复原值。

3) 更改 MongoDB 的资源限制(当前设置对 MongoDB 的部署相当重要),代码如下:
-f (file size): unlimited
-t (cpu time): unlimited
-v (virtual memory): unlimited
-l (locked-in-memory size): unlimited
-n (open files): 64000
-m (memory size): unlimited
-u (processes/threads): 64000
更改后需重启 mongod 进程,这样更改信息才会生效。

4) 配置 MongoDB 管理员账户,代码如下:
$ mongosh
> show dbs
> use admin # 进入admin数据库
> db.createUser({user: 'admin', pwd: 'admin', roles: [{role: 'root', db: 'admin'}]})
在上述代码中,user 对应的字符串表示用户名,pwd 对应的字符串表示密码。roles 可以表示多个角色,其格式为:
roles∶ [{role∶ '角色名', db∶ '角色所属数据库'}, {role∶ '角色名2', db∶ '角色所属数据库2'}, …]

5) 配置远程连接,代码如下:
sudo vim /etc/mongod.conf
net:
  port = 27017
  bindIp = 0.0.0.0         # 注意缩进一个空格
security:
  authorization: enabled   # 注意空格,否则服务无法启动

配置结束后重启服务,具体代码如下:
mongod --dbpath /home/ubuntu/mongodb/data --logpath /home/ubuntu/mongodb/log/
mongodb.log --logappend --fork
mongosh
> show dbs                  # 显示数据库
> use admin
> db.auth('admin', 'admin') # admin前者对应user,后者对应pwd

下面进行远程连接,具体代码如下:
mongosh --host ip --port 27017 -u user -p pwd # ip、user和pwd取实际值

若需查看帮助,可使用 mongo -h 命令。


6) MongoDB 的卸载,卸载 MongoDB 的代码具体如下:
sudo apt-get purge mongoDB-org*

相关文章