当前位置: 首页 > news >正文

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;
退出 mysqlexit; 或 \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)创建管理员用户
  1. 未启用认证时登录:
    mongosh  # 直接进入(默认无密码)
    
  2. 切换到 admin 数据库,创建超级管理员:
    use admin;
    db.createUser({user: "admin",        // 用户名pwd: "你的强密码",    // 密码roles: [{ role: "root", db: "admin" }]  // 超级权限
    });
    
  3. 启用认证(修改 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: "张三" });
退出 mongoshexit

四、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 *
退出客户端exit 或 quit

4. 服务管理

# 查看状态
sudo systemctl status redis-server
# 启动/停止/重启
sudo systemctl start/stop/restart redis-server
# 设置开机自启
sudo systemctl enable redis-server

五、三大数据库对比与适用场景

特性mysqlmongodbredis
数据模型关系型(表结构)文档型(bson)键值对(多种结构)
适用数据结构化、强关联数据非结构化、半结构化缓存、会话、计数器
读写性能中(磁盘 io)高(内存 + 磁盘)极高(纯内存)
事务支持完整 acid单文档 acid部分支持(redis 6.0+)
典型场景订单系统、用户管理日志存储、内容管理缓存加速、秒杀计数

通过本文,你可以快速掌握 ubuntu 下三大数据库的核心用法。实际开发中,需根据业务场景选择合适的工具(如用 redis 做缓存、mysql 存业务数据、mongodb 存非结构化日志),并做好权限控制与数据备份,保障系统稳定运行。

http://www.dtcms.com/a/351810.html

相关文章:

  • [特殊字符] CentOS 7 升级 OpenSSH 10.0p2 完整教程(含 Telnet 备份)
  • 如果 我退休了
  • 汽车域控中Hypervisor方案极致安全原理与弊端
  • APP UI自动化测试的思路总结
  • 破解豆瓣Ajax动态加载:Python爬取完整长评论和短评
  • Java面试实战系列【JVM篇】- JVM内存结构与运行时数据区详解(私有区域)
  • 数据结构:链式队列尝试;0826
  • poi生成word固定表格列宽
  • Spring - 文件上传与下载:真正的企业开发高频需求——Spring Boot文件上传与下载全场景实践指南
  • 位运算卡常技巧详解
  • Charles抓包微信小程序请求响应数据
  • 信号无忧,转决千里:耐达讯自动化PROFIBUS集线器与编码器连接术
  • 快速了解卷积神经网络
  • springweb项目中多线程使用详解
  • 问:单证硕士含金量是否不足?
  • 【Linux 进程】进程程序替换
  • 【GitHub】使用SSH与GitHub交互
  • 工业大模型五层架构全景解析:从算力底座到场景落地的完整链路
  • PyCharm注释详解:TODO、文档注释、注释
  • MySQL 索引:结构、对比与操作实践指南
  • 【合适新人】预测图片教程——如何随机抽取验证集图片进行可视化推理!(附完整代码)
  • DigitalOcean GPU 选型指南(三):中端AI GPU性价比之王 RTX 4000 Ada、A4000、A5000
  • 无人机航拍数据集|第33期 无人机树冠目标检测YOLO数据集5842张yolov11/yolov8/yolov5可训练
  • 【HZ-T536开发板免费体验】无需死记 Linux 命令!用 CangjieMagic 在 HZ-T536 开发板上搭建 MCP 服务器,自然语言轻松控板
  • Java大厂面试全真模拟:从Spring Boot到微服务架构实战
  • 文本转语音TTS工具合集(下)
  • 【强化学习】区分理解: 时序差分(TD)、蒙特卡洛(MC)、动态规划(DP)
  • 计算机底层硬件实现及运行原理通俗书籍推荐
  • 记一次MySQL数据库的操作练习
  • 把 AI 塞进「空调遥控器」——基于 MEMS 温湿阵列的 1 分钟极速房间热场扫描