阿里云ECS CentOS系统怎么部署MySQL服务?

在阿里云 ECS(CentOS 系统)上部署 MySQL,推荐直接使用官方 YUM 源安装社区版(MySQL Community Server),这种方式配置简单、更新方便且兼容性好。以下是详细步骤:


✅ 一、前置准备

  1. 登录阿里云控制台,确认 ECS 实例已启动,安全组已放行 3306 端口(否则无法远程连接)。
  2. SSH 登录到 ECS(使用 root 或具有 sudo 权限的账号):
    ssh root@<your-ecs-ip>

✅ 二、安装 MySQL(以 CentOS 7/8 为例)

方式一:使用官方 YUM 仓库(推荐)

# 1. 下载并安装 MySQL YUM 配置文件
sudo yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

# 注意:el7 对应 CentOS 7;若为 CentOS 8,请将 el7 改为 el8
# 验证版本:cat /etc/yum.repos.d/mysql-community.repo | grep enabled

# 2. 安装 MySQL 服务器
sudo yum install -y mysql-community-server

# 3. 启动 MySQL 服务
sudo systemctl start mysqld

# 4. 设置开机自启
sudo systemctl enable mysqld

# 5. 查看初始 root 密码(首次安装时生成)
sudo grep 'temporary password' /var/log/mysqld.log

🔐 初始密码通常位于 /var/log/myspnd.log 中,包含大小写字母、数字和特殊字符。


✅ 三、安全加固与初始化

运行 mysql_secure_installation

sudo mysql_secure_installation

按提示操作:

  • 输入初始临时密码
  • 设置新的 root 密码(建议 ≥8 位,含大小写+数字+符号)
  • 移除匿名用户 → Y
  • 禁止 root 远程登录 → Y(生产环境务必关闭!)
  • 删除测试数据库 → Y
  • 重新加载权限表 → Y

可选:允许远程连接(谨慎操作)

⚠️ 仅当业务需要且已配置好安全组 + 防火墙时进行:

# 1. 编辑 MySQL 配置文件
sudo vi /etc/my.cnf

# 找到 [mysqld] 部分,添加或修改:
bind-address = 0.0.0.0

# 2. 重启 MySQL
sudo systemctl restart mysqld

# 3. 创建可远程访问的用户(示例:user@%)
mysql -u root -p

进入 MySQL 后执行:

-- 创建用户(替换为你自己的密码)
CREATE USER 'myuser'@'%' IDENTIFIED BY 'StrongPassword123!';

-- 授权
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%';
FLUSH PRIVILEGES;
EXIT;

🛡️ 更安全的做法是限制 IP:将 '%' 改为具体客户端 IP,如 'myuser'@'192.168.1.100'


✅ 四、验证安装

# 检查状态
systemctl status mysqld

# 登录测试
mysql -u root -p

# 查看版本
mysql --version
mysql -u root -p -e "SELECT VERSION();"

⚙️ 五、常见问题排查

问题 解决方案
mysqld 启动失败 查看日志:sudo journalctl -xetail -f /var/log/mysqld.log
端口被占用 netstat -tlnp | grep 3306,检查是否有其他进程
忘记 root 密码 参考 MySQL 官方重置密码文档
远程连不上 ① 检查阿里云安全组是否开放 3306;② 检查 bind-address;③ 确认防火墙(firewalld)未拦截

💡 进阶建议

  • 生产环境建议使用 RDS for MySQL(托管服务,免运维、高可用、自动备份)
  • 定期备份:mysqldump --all-databases > backup_$(date +%F).sql
  • 启用慢查询日志优化性能

需要我提供自动化脚本、Docker 部署方案,或针对 CentOS Stream 8/9 的具体调整吗?

未经允许不得转载:CLOUD技术博 » 阿里云ECS CentOS系统怎么部署MySQL服务?