Ubuntu 安装 MySQL 8.0 + Redis 并开启远程访问

Ubuntu 22 安装 MySQL 8.0 + Redis 并开启远程访问

环境 :Ubuntu 22.04
说明 :所有命令均在 /root 目录下执行(即登录服务器后的默认目录),无需切换目录。


一、准备工作

1.1 更新系统

执行目录 :任意目录
作用:更新软件包列表并升级已有软件,避免安装时出现依赖冲突。

bash 复制代码
sudo apt update && sudo apt upgrade -y

二、安装 MySQL 8.0

2.1 安装 MySQL

执行目录 :任意目录
作用:从 Ubuntu 官方源安装 MySQL Server。

bash 复制代码
sudo apt install mysql-server -y

2.2 启动服务并设置开机自启

执行目录 :任意目录
作用:启动 MySQL 服务,并设置为开机自动启动,重启服务器后无需手动启动。

bash 复制代码
sudo systemctl start mysql
sudo systemctl enable mysql

验证状态:

bash 复制代码
sudo systemctl status mysql

看到 Active: active (running) 且 enabled 说明正常。按 q 退出。


2.3 安全初始化

执行目录 :任意目录
作用:删除匿名用户、禁止 root 远程登录、删除测试数据库,提升安全性。

bash 复制代码
sudo mysql_secure_installation

按以下方式回答交互问题:

问题 回答 原因
VALIDATE PASSWORD component? n 我们手动设置强密码,不需要此插件
Remove anonymous users? y 删除匿名用户,避免未授权访问
Disallow root login remotely? y root 只允许本地登录,更安全
Remove test database? y 删除无用的测试数据库
Reload privilege tables? y 使以上设置立即生效

2.4 生成随机强密码

执行目录 :任意目录
作用:生成一个高强度随机密码,用于 MySQL 远程用户。

bash 复制代码
openssl rand -base64 32

⚠️ 立即复制并保存输出的密码,后续步骤会用到。


2.5 创建远程访问用户

执行目录 :任意目录
作用:创建一个允许从任意 IP 远程连接的 MySQL 用户,并授予权限。

先进入 MySQL 控制台:

bash 复制代码
sudo mysql

提示符变为 mysql> 后,逐行执行以下 SQL(将 你的密码 替换为上一步生成的密码):

sql 复制代码
CREATE USER 'remoteuser'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

每行回车执行,看到 Query OK 说明成功。


2.6 修改配置文件开启远程访问

执行目录 :任意目录(修改文件 /etc/mysql/mysql.conf.d/mysqld.cnf)
作用 :默认 MySQL 只监听本机 127.0.0.1,改为 0.0.0.0 后允许外部 IP 连接。

bash 复制代码
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

按 Ctrl+W 搜索 bind-address,找到后将该行改为:

复制代码
bind-address = 0.0.0.0

按 Ctrl+X → Y → Enter 保存退出。


2.7 重启 MySQL 使配置生效

执行目录 :任意目录
作用:重启服务,使修改的配置文件生效。

bash 复制代码
sudo systemctl restart mysql

2.8 开放防火墙端口

执行目录 :任意目录
作用:允许外部通过 3306 端口访问 MySQL,否则即使服务正常运行,外部也无法连接。

bash 复制代码
sudo ufw allow 3306/tcp
sudo ufw reload

2.9 验证 MySQL 远程连接

执行目录 :任意目录
作用:测试刚创建的远程用户是否可以正常连接。

bash 复制代码
mysql -u remoteuser -p -h 127.0.0.1

输入密码后进入 mysql> 说明成功,退出:

sql 复制代码
EXIT;

三、安装 Redis

3.1 安装 Redis

执行目录 :任意目录
作用:从 Ubuntu 官方源安装 Redis Server。

bash 复制代码
sudo apt install redis-server -y

如果遇到报错 dpkg was interrupted,先执行以下命令修复,再重新安装:

bash 复制代码
sudo dpkg --configure -a

3.2 检查服务状态

执行目录 :任意目录
作用:确认 Redis 是否已正常启动。

bash 复制代码
sudo systemctl status redis

看到 Active: active (running) 说明正常。按 q 退出。


3.3 生成随机强密码

执行目录 :任意目录
作用:生成一个高强度随机密码,用于 Redis 认证(与 MySQL 密码不同)。

bash 复制代码
openssl rand -base64 32

⚠️ 立即复制并保存输出的密码。


3.4 修改 Redis 配置文件

执行目录 :任意目录(修改文件 /etc/redis/redis.conf)
作用:开启远程访问、设置密码、配置 systemd 管理方式。

bash 复制代码
sudo nano /etc/redis/redis.conf

按 Ctrl+W 搜索关键词,依次做以下 3 处修改:

修改 1 :允许远程连接

搜索 bind 127.0.0.1,改为:

复制代码
bind 0.0.0.0

修改 2 :设置访问密码

搜索 requirepass,找到 # requirepass foobared,改为(去掉 #,替换密码):

复制代码
requirepass 你的密码

修改 3 :配置 systemd 管理

搜索 supervised,找到 supervised no,改为:

复制代码
supervised systemd

按 Ctrl+X → Y → Enter 保存退出。


3.5 重启 Redis 并设置开机自启

执行目录 :任意目录
作用:使配置文件生效,并设置 Redis 开机自动启动。

bash 复制代码
sudo systemctl restart redis
sudo systemctl enable redis

3.6 开放防火墙端口

执行目录 :任意目录
作用:允许外部通过 6379 端口访问 Redis。

bash 复制代码
sudo ufw allow 6379/tcp
sudo ufw reload

3.7 验证 Redis 连接

执行目录 :任意目录
作用:测试 Redis 密码认证是否正常。

bash 复制代码
redis-cli

进入后执行:

复制代码
AUTH 你的密码

返回 OK 说明成功,退出:

复制代码
quit

四、确认开机自启状态

执行目录 :任意目录
作用:最终确认两个服务都已设置为开机自动启动。

bash 复制代码
sudo systemctl is-enabled mysql
sudo systemctl is-enabled redis

两条命令都返回 enabled 即为成功。


五、连接信息汇总

安装完成后,请将以下信息保存到密码管理器:

服务 用户名 密码 端口
MySQL remoteuser 第 2.4 步生成的密码 3306
Redis 无用户名 第 3.3 步生成的密码 6379

六、常用管理命令

操作 MySQL Redis
启动 sudo systemctl start mysql sudo systemctl start redis
停止 sudo systemctl stop mysql sudo systemctl stop redis
重启 sudo systemctl restart mysql sudo systemctl restart redis
查看状态 sudo systemctl status mysql sudo systemctl status redis
查看日志 sudo tail -f /var/log/mysql/error.log sudo tail -f /var/log/redis/redis-server.log
相关推荐
Decay__6 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
Decay__12 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
代码丰14 小时前
大 JSON 放进 Redis 之后,如何用 Stream 解耦耗时任务?
redis·后端·系统架构
易点云徐源18 小时前
HP 暗影精灵 PRO 16 安装双系统后,开机直接进入 Windows,按 F9 才能进入 Ubuntu:GRUB 菜单不显示的处理方法
linux·运维·ubuntu
枫子有风18 小时前
卡码网盘项目深挖
java·redis·jwt·es·pgvector
福大大架构师每日一题18 小时前
redis 8.10.3正式发布:聚焦集群总线超大消息传播场景的安全修复,8.10.3 Latest更新解读
数据库·redis·安全
后台模板学习19 小时前
MongoDB 与 MySQL 在 IM 即时聊天场景中该
数据库·mysql·mongodb
江屿风20 小时前
【Plain Language Large Model】【从麦当劳点餐到Redis接入:MCP如何让AI工具集成变简单】流食般投喂
人工智能·redis·笔记·语言模型·llm·mcp
IT大白鼠20 小时前
渗透测试实战从靶场搭建到渗透流程——第 8 篇 · 服务型靶标(上):MySQL 双版本写文件链
数据库·mysql·渗透测试
少年的范儿20 小时前
Windows 安装 MySQL 8.4 教程(ZIP 解压版):配置 my.ini、初始化数据库与启动服务
数据库·windows·mysql