Ubuntu操作系统下使用mysql、mongodb、redis

MySQL(关系型数据库)、MongoDB(文档型 NoSQL)、Redis(内存数据库)是最常用的三大工具。本文基于 Ubuntu 操作系统,梳理三者的核心知识点、安装配置、基础操作及运维要点,帮助开发者快速上手并规避常见问题。

目录

[一、Ubuntu 环境准备](#一、Ubuntu 环境准备)

[1. 系统更新](#1. 系统更新)

[2. 权限说明](#2. 权限说明)

[二、MySQL 核心知识点与实战](#二、MySQL 核心知识点与实战)

[1. 安装与初始化](#1. 安装与初始化)

[(1)安装 MySQL 服务](#(1)安装 MySQL 服务)

(2)安全初始化

[(3)登录 MySQL](#(3)登录 MySQL)

[2. 核心配置](#2. 核心配置)

允许远程连接(可选)

[3. 基础操作(SQL 命令)](#3. 基础操作(SQL 命令))

[4. 服务管理](#4. 服务管理)

[三、mongodb 核心知识点与实战](#三、mongodb 核心知识点与实战)

[1. 安装与初始化](#1. 安装与初始化)

[(1)添加官方源(避免 apt 源版本过旧)](#(1)添加官方源(避免 apt 源版本过旧))

(2)启动服务并设置自启

[2. 核心配置](#2. 核心配置)

[3. 用户认证与权限](#3. 用户认证与权限)

(1)创建管理员用户

(2)登录与创建普通用户

[4. 基础操作(mongosh 命令)](#4. 基础操作(mongosh 命令))

[四、redis 核心知识点与实战](#四、redis 核心知识点与实战)

[1. 安装与初始化](#1. 安装与初始化)

[(1)安装 redis](#(1)安装 redis)

(2)验证安装

[2. 核心配置](#2. 核心配置)

允许远程连接(可选)

[3. 基础操作(redis-cli 命令)](#3. 基础操作(redis-cli 命令))

[4. 服务管理](#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.0
  port: 27017        # 默认端口
security:
  authorization: enabled  # 启用用户认证(默认关闭)

修改后需重启服务:sudo systemctl restart mongod

3. 用户认证与权限

(1)创建管理员用户
  1. 未启用认证时登录:

    复制代码
    mongosh  # 直接进入(默认无密码)
  2. 切换到 admin 数据库,创建超级管理员:

    复制代码
    use admin;
    db.createUser({
      user: "admin",        // 用户名
      pwd: "你的强密码",    // 密码
      roles: [{ role: "root", db: "admin" }]  // 超级权限
    });
  3. 启用认证(修改 mongod.confauthorization: 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,远程访问需修改:

  1. 编辑配置文件:

    复制代码
    sudo nano /etc/redis/redis.conf
  2. 修改关键配置:

    复制代码
    bind 0.0.0.0          # 允许所有 IP 访问(生产限制 IP)
    protected-mode no     # 关闭保护模式(否则远程无法连接)
    requirepass 你的密码  # 设置密码(避免未授权访问)
  3. 重启服务:

    复制代码
    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 *
退出客户端 exitquit

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 存非结构化日志),并做好权限控制与数据备份,保障系统稳定运行。

相关推荐
幸福清风14 分钟前
【SQL】深入理解MySQL存储过程:MySQL流程控制语句详解
数据库·sql·mysql
计算机学姐4 小时前
基于SpringBoot的社团管理系统【2026最新】
java·vue.js·spring boot·后端·mysql·spring·mybatis
ta是个码农5 小时前
Mysql——日志
java·数据库·mysql·日志
-L76 小时前
进入docker中mysql容器的方法
运维·mysql·docker·容器
张铁铁是个小胖子9 小时前
mysql是怎样运行的(梳理)
数据库·mysql
猫猫的小茶馆9 小时前
【STM32】CubeMX(十三):RT-THREAD
stm32·单片机·嵌入式硬件·mcu·mongodb·51单片机·智能硬件
2301_8035545211 小时前
redis学习
数据库·redis·学习
weixin_4565881511 小时前
【java面试day19】mysql-优化
java·mysql·面试
TT哇12 小时前
@[TOC](MySQL)MySQL经典练习题(详解)
数据库·mysql