在阿里云2核4G的ECS主机上安装MySQL是一个常见的操作,适合新手学习和小项目使用。以下是详细步骤,以 CentOS 7/8 或 Ubuntu 20.04+ 为例进行说明。
✅ 一、准备工作
1. 登录你的ECS服务器
使用 SSH 登录(推荐使用终端或 PuTTY):
ssh root@你的公网IP
输入密码即可登录。
建议:首次登录后修改密码并配置密钥登录更安全。
✅ 二、选择操作系统(以 CentOS 和 Ubuntu 为例)
以下任选其一进行操作。
🟡 方式一:CentOS 7/8 安装 MySQL(以 MySQL 8.0 为例)
1. 添加 MySQL Yum 仓库
# 下载并安装 MySQL 官方 Yum 仓库
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
注意:
el7表示 Red Hat/CentOS 7,如果是 CentOS 8,请用el8包。
2. 安装 MySQL 服务器
sudo yum install mysql-server -y
3. 启动 MySQL 并设置开机自启
sudo systemctl start mysqld
sudo systemctl enable mysqld
4. 查看临时密码(MySQL 8.0 首次启动会生成临时密码)
sudo grep 'temporary password' /var/log/mysqld.log
输出类似:
A temporary password is generated for root@localhost: abc123!Def456
记住这个密码,下一步要用。
🟢 方式二:Ubuntu 20.04/22.04 安装 MySQL
1. 更新系统包
sudo apt update && sudo apt upgrade -y
2. 安装 MySQL 服务器
sudo apt install mysql-server -y
3. 启动并启用服务
sudo systemctl start mysql
sudo systemctl enable mysql
Ubuntu 安装后默认 root 用户无需密码(本地 socket 认证),但建议立即运行安全脚本。
✅ 三、运行安全初始化脚本(强烈建议!)
无论 CentOS 还是 Ubuntu,都应运行:
sudo mysql_secure_installation
这个脚本会引导你完成以下操作:
- 设置 root 用户的新密码
- 删除匿名用户
- 禁止 root 远程登录(可选)
- 删除测试数据库
- 重新加载权限表
👉 新手建议全部选 Y(是)。
✅ 四、登录 MySQL 测试
mysql -u root -p
输入你设置的密码,进入 MySQL 命令行:
-- 查看当前版本
SELECT VERSION();
-- 退出
EXIT;
✅ 五、(可选)允许远程连接(谨慎操作!)
如果你希望从本地电脑用 Navicat、DBeaver 等工具连接:
1. 修改 MySQL 配置文件
CentOS(/etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf)
Ubuntu(通常在 /etc/mysql/mysql.conf.d/mysqld.cnf)
编辑文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到这一行并注释掉或改为:
bind-address = 0.0.0.0
保存并重启 MySQL:
sudo systemctl restart mysql
2. 创建可远程登录的用户(在 MySQL 中执行)
CREATE USER 'admin'@'%' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
⚠️ 注意:
'%'表示任何 IP,生产环境应限制为具体 IP。
3. 阿里云安全组放行 3306 端口
登录 阿里云控制台 → 找到你的 ECS 实例 → 安全组 → 添加规则:
- 协议类型:MySQL(3306)
- 授权对象:
0.0.0.0/0(测试用)或你的本地公网 IP(更安全)
✅ 六、性能优化建议(针对 2核4G 主机)
MySQL 默认配置偏高,建议调整以适应小内存主机。
编辑配置文件(如 /etc/mysql/mysql.conf.d/mysqld.cnf):
[mysqld]
# 基础设置
port = 3306
bind-address = 0.0.0.0
skip-name-resolve
# 内存优化(适合2G~4G内存)
key_buffer_size = 16M
max_allowed_packet = 64M
thread_stack = 192K
thread_cache_size = 8
query_cache_type = 1
query_cache_size = 32M
tmp_table_size = 32M
max_heap_table_size = 32M
# InnoDB 设置
innodb_buffer_pool_size = 1G # 总内存的 50% 左右
innodb_log_file_size = 128M
innodb_flush_log_at_trx_commit = 2
# 连接数
max_connections = 100
修改后重启 MySQL:
sudo systemctl restart mysql
✅ 七、常见问题排查
| 问题 | 解决方法 |
|---|---|
| 无法连接 | 检查防火墙、安全组、bind-address |
| 密码错误 | 使用 mysql_secure_installation 重设 |
| 启动失败 | 查看日志 sudo tail -f /var/log/mysqld.log |
| 内存不足 | 调低 innodb_buffer_pool_size |
✅ 总结:新手推荐流程
- 登录 ECS
- 安装 MySQL(
yum或apt) - 启动服务 + 开机自启
- 运行
mysql_secure_installation - (可选)配置远程访问 + 安全组放行
- (推荐)简单调优配置
✅ 完成以上步骤,你就成功在阿里云 2核4G 主机上部署了 MySQL!
如有需要,我也可以提供一键安装脚本或 Docker 安装方式。欢迎继续提问 😊
CLOUD技术笔记