当前位置: 首页 > 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.xdnf.cn/news/1372321.html

相关文章:

  • 系统架构设计师-【2025上半年论文题目分享】
  • 探寻跨语言统一真理及其对NLP的未来启示
  • Agent实战教程:LangGraph关于智能体的架构模式与核心概念
  • 知行——同为科技24周年庆典
  • 【软件测试面试】全网最全,自动化测试面试题总结大全(付答案)
  • 二维费用背包 分组背包
  • Git命令
  • 机器学习每日一题000-矩阵和向量的乘法python实现
  • 在Excel和WPS表格中输入分数的两种方法
  • Linux正则表达式
  • shiro进行解密
  • 如何才能使RISC V架构成为机器学习的核心
  • 【Modbus-TCP】linux为主机—PC为从机通信
  • Git工具
  • 【44页PPT】极简架构MES系统解决方案介绍(附下载方式)
  • 阿里云 ECS 可观测性最佳实践
  • 简易shell
  • 【ElasticSearch】客户端选择
  • 力扣100+补充大完结
  • Linux命令详解+示例(炫彩超全)
  • 在Godot中为您的游戏添加并控制游戏角色的完整技术指南
  • IUV5G专网排障(上)
  • Markdown 编辑器 语法
  • 使用【阿里云百炼】搭建自己的大模型
  • 微服务-26.网关登录校验-OpenFeign传递用户信息
  • 半小时打造七夕传统文化网站:Qoder AI编程实战记录
  • 【HarmonyOS NEXT】打包鸿蒙应用并发布到应用市场
  • dapo:开源大规模llm强化学习系统的突破与实现
  • Spring Boot -Mybatis的使用和基础
  • 【图像处理 - 基础知识】ISP(Image Signal Processor)处理