Ubuntu操作系统下使用mysql、mongodb、redis
MySQL(关系型数据库)、MongoDB(文档型 NoSQL)、Redis(内存数据库)是最常用的三大工具。本文基于 Ubuntu 操作系统,梳理三者的核心知识点、安装配置、基础操作及运维要点,帮助开发者快速上手并规避常见问题。
目录
一、Ubuntu 环境准备
1. 系统更新
2. 权限说明
二、MySQL 核心知识点与实战
1. 安装与初始化
(1)安装 MySQL 服务
(2)安全初始化
(3)登录 MySQL
2. 核心配置
允许远程连接(可选)
3. 基础操作(SQL 命令)
4. 服务管理
三、mongodb 核心知识点与实战
1. 安装与初始化
(1)添加官方源(避免 apt 源版本过旧)
(2)启动服务并设置自启
2. 核心配置
3. 用户认证与权限
(1)创建管理员用户
(2)登录与创建普通用户
4. 基础操作(mongosh 命令)
四、redis 核心知识点与实战
1. 安装与初始化
(1)安装 redis
(2)验证安装
2. 核心配置
允许远程连接(可选)
3. 基础操作(redis-cli 命令)
4. 服务管理
五、三大数据库对比与适用场景
一、Ubuntu 环境准备
1. 系统更新
操作前先更新软件包索引,确保依赖最新:
2. 权限说明
本文所有命令默认以 sudo
权限执行(普通用户需添加 sudo
),避免权限不足导致操作失败。
二、MySQL 核心知识点与实战
MySQL 是开源关系型数据库,适用于结构化数据存储(如用户信息、订单数据),遵循 ACID 特性,支持 SQL 语法。
1. 安装与初始化
(1)安装 MySQL 服务
sudo apt install mysql-server -y
(2)安全初始化
执行官方安全脚本,设置 root 密码、删除匿名用户、禁用远程 root 登录:
sudo mysql_secure_installation
按提示操作:
选择密码验证策略(推荐 0
低策略,便于测试;生产环境选 2
高策略);
设置 root 密码(记牢,后续登录用);
依次输入 Y
确认删除匿名用户、禁用远程 root、删除测试库、刷新权限。
(3)登录 MySQL
# 本地登录(root 用户)
sudo mysql -u root -p
# 输入步骤 2 设置的密码,成功进入 MySQL 命令行(提示符:mysql>)
2. 核心配置
允许远程连接(可选)
默认 MySQL 仅监听本地 127.0.0.1
,如需远程访问:
,1,编辑配置文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
2,注释或修改 bind-address
:
# bind-address = 127.0.0.1 # 注释掉,允许所有 IP 访问
bind-address = 0.0.0.0 # 或指定允许的远程 IP
3,重启服务:
sudo systemctl restart mysql
4,授权远程用户(MySQL 命令行执行):
# 授权 root 用户从任意 IP 登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
# 刷新权限
FLUSH PRIVILEGES;
3. 基础操作(SQL 命令)
操作目标 | 命令示例 |
---|---|
创建数据库 | create database test_db default charset utf8mb4; |
使用数据库 | use test_db; |
创建表 | create table user (id int primary key auto_increment, name varchar(20)); |
插入数据 | insert into user (name) values ('张三'), ('李四'); |
查询数据 | select * from user; |
退出 mysql | exit; 或 \q |
4. 服务管理
# 查看状态
sudo systemctl status mysql
# 启动/停止/重启
sudo systemctl start/stop/restart mysql
# 设置开机自启
sudo systemctl enable mysql
三、mongodb 核心知识点与实战
mongodb 是文档型 nosql 数据库,以 bson(类 json)格式存储数据,适用于非结构化 / 半结构化数据(如日志、用户画像),支持灵活的查询与分布式扩展。
1. 安装与初始化
(1)添加官方源(避免 apt 源版本过旧)
# 导入 GPG 密钥
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
# 添加软件源
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
# 更新并安装
sudo apt update && sudo apt install mongodb-org -y
(2)启动服务并设置自启
sudo systemctl start mongod
sudo systemctl enable mongod
# 验证状态(出现 active (running) 即正常)
sudo systemctl status mongod
2. 核心配置
mongodb 配置文件,关键配置项:
net:bindIp: 127.0.0.1 # 监听 IP,远程访问改 0.0.0.0port: 27017 # 默认端口
security:authorization: enabled # 启用用户认证(默认关闭)
修改后需重启服务:sudo systemctl restart mongod
3. 用户认证与权限
(1)创建管理员用户
- 未启用认证时登录:
mongosh # 直接进入(默认无密码)
- 切换到
admin
数据库,创建超级管理员:use admin; db.createUser({user: "admin", // 用户名pwd: "你的强密码", // 密码roles: [{ role: "root", db: "admin" }] // 超级权限 });
- 启用认证(修改
mongod.conf
中authorization: enabled
),重启服务。
(2)登录与创建普通用户
# 用管理员账号登录
mongosh -u admin -p 你的密码 --authenticationDatabase admin
# 切换到目标数据库(如 test_db),创建普通用户(读写权限)
use test_db;
db.createUser({user: "test_user",pwd: "test_pass",roles: [{ role: "readWrite", db: "test_db" }]
});
4. 基础操作(mongosh 命令)
操作目标 | 命令示例 |
---|---|
查看所有数据库 | show dbs; |
创建 / 切换数据库 | use test_db; (插入数据后自动创建) |
创建集合(表) | db.createCollection("user"); |
插入文档(数据) | db.user.insertOne({ name: "张三", age: 25 }); |
查询文档 | db.user.find(); (查询所有)/ db.user.find({ age: 25 }); (条件查询) |
删除文档 | db.user.deleteOne({ name: "张三" }); |
退出 mongosh | exit |
四、redis 核心知识点与实战
redis 是高性能内存数据库,支持键值对存储,常用于缓存、会话存储、消息队列,数据读写速度达 10 万次 / 秒级别。
1. 安装与初始化
(1)安装 redis
sudo apt install redis-server -y
(2)验证安装
# 启动 redis 客户端
redis-cli
# 执行 ping 命令,返回 PONG 即正常
127.0.0.1:6379> ping
PONG
2. 核心配置
允许远程连接(可选)
默认 redis 仅监听 127.0.0.1
,远程访问需修改:
- 编辑配置文件:
sudo nano /etc/redis/redis.conf
- 修改关键配置:
bind 0.0.0.0 # 允许所有 IP 访问(生产限制 IP) protected-mode no # 关闭保护模式(否则远程无法连接) requirepass 你的密码 # 设置密码(避免未授权访问)
- 重启服务:
sudo systemctl restart redis-server
3. 基础操作(redis-cli 命令)
操作目标 | 命令示例 |
---|---|
登录(带密码) | redis-cli -u redis://:你的密码@127.0.0.1:6379 或登录后 AUTH 你的密码 |
存储键值对(字符串) | set name "张三" |
获取值 | get name (返回 "张三") |
存储哈希(对象) | hset user:1 name "李四" age 30 |
获取哈希值 | hgetall user:1 (返回所有字段和值) |
查看所有键 | keys * |
退出客户端 | exit 或 quit |
4. 服务管理
# 查看状态
sudo systemctl status redis-server
# 启动/停止/重启
sudo systemctl start/stop/restart redis-server
# 设置开机自启
sudo systemctl enable redis-server
五、三大数据库对比与适用场景
特性 | mysql | mongodb | redis |
---|---|---|---|
数据模型 | 关系型(表结构) | 文档型(bson) | 键值对(多种结构) |
适用数据 | 结构化、强关联数据 | 非结构化、半结构化 | 缓存、会话、计数器 |
读写性能 | 中(磁盘 io) | 高(内存 + 磁盘) | 极高(纯内存) |
事务支持 | 完整 acid | 单文档 acid | 部分支持(redis 6.0+) |
典型场景 | 订单系统、用户管理 | 日志存储、内容管理 | 缓存加速、秒杀计数 |
通过本文,你可以快速掌握 ubuntu 下三大数据库的核心用法。实际开发中,需根据业务场景选择合适的工具(如用 redis 做缓存、mysql 存业务数据、mongodb 存非结构化日志),并做好权限控制与数据备份,保障系统稳定运行。