在云服务器部署mysql和Redis?

在云服务器上部署 MySQL 和 Redis 是一个常见的操作,适用于 Web 应用、缓存服务等场景。下面是一个通用的步骤指南,适用于主流的 Linux 云服务器(如阿里云、腾讯云、AWS、Google Cloud 等)。


🧩 前提条件

  • 已有一台云服务器(例如 Ubuntu 或 CentOS)
  • 可以通过 SSH 登录
  • 有 root 权限或 sudo 权限

✅ 一、部署 MySQL

1. 更新系统包

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y

# CentOS/RHEL
sudo yum update -y

2. 安装 MySQL

Ubuntu:

sudo apt install mysql-server -y

CentOS:

sudo yum install mariadb-server mariadb -y
# 或安装官方 MySQL:
# 添加 MySQL 官方源后使用 yum install mysql-server

3. 启动并设置开机启动

sudo systemctl start mysql
sudo systemctl enable mysql

4. 初始化安全配置(推荐)

sudo mysql_secure_installation

按照提示设置 root 密码、删除匿名用户、禁止远程 root 登录等。

5. 登录 MySQL

mysql -u root -p

✅ 二、部署 Redis

1. 安装 Redis

Ubuntu/Debian:

sudo apt install redis -y

CentOS:

sudo yum install epel-release -y
sudo yum install redis -y

或者从源码编译安装(推荐用于定制化需求):

wget https://download.redis.io/redis-stable.tar.gz
tar -xzvf redis-stable.tar.gz
cd redis-stable
make
sudo make install

2. 启动 Redis 并设置开机启动

sudo systemctl start redis
sudo systemctl enable redis

3. 配置 Redis(可选)

编辑配置文件:

sudo nano /etc/redis.conf

常见修改项:

  • bind 0.0.0.0:允许外部访问(注意防火墙)
  • protected-mode no:关闭保护模式(配合 bind 使用)
  • requirepass yourpassword:设置密码

重启 Redis 生效:

sudo systemctl restart redis

4. 测试 Redis 连接

redis-cli ping
# 如果返回 PONG 表示成功

如果设置了密码:

redis-cli
auth yourpassword
ping

🔐 三、开放防火墙端口

确保你的云服务器安全组或防火墙已放行以下端口:

服务 端口
MySQL 3306
Redis 6379

例如,在 Ubuntu 上使用 ufw 开放:

sudo ufw allow 3306/tcp
sudo ufw allow 6379/tcp
sudo ufw reload

⚠️ 注意:不要对公网开放这些端口给所有人,建议只允许特定 IP 访问,防止被攻击!


📌 四、连接测试(本地或其他服务器)

你可以使用数据库工具(如 Navicat、DBeaver)或代码连接 MySQL 和 Redis。

示例:Python 连接 Redis

import redis

r = redis.StrictRedis(host='your_server_ip', port=6379, password='yourpassword')
r.set('foo', 'bar')
print(r.get('foo'))

🧼 五、其他建议

  • 备份数据:定期备份 MySQL 数据库。
  • 监控服务:使用 Prometheus + Grafana 监控 Redis 和 MySQL 性能。
  • 使用 Docker(可选):可以用 Docker 快速部署 MySQL 和 Redis,便于环境隔离和迁移。

📦 附:Docker 部署示例(可选)

# MySQL
docker run --name mysql 
  -e MYSQL_ROOT_PASSWORD=yourpassword 
  -p 3306:3306 
  -d mysql:latest

# Redis
docker run --name redis 
  -p 6379:6379 
  -d redis 
  redis-server --appendonly yes --requirepass "yourpassword"

如果你告诉我你使用的具体操作系统、云服务商、是否使用 Docker,我可以提供更详细的定制化指导 😊

是否需要我帮你写一个自动化部署脚本?

未经允许不得转载:CLOUD技术博 » 在云服务器部署mysql和Redis?