在4G内存的服务器上安装 MySQL 8.0 是完全可行的,但需要注意合理配置以避免资源不足(尤其是内存)。以下是在 CentOS 7/8 或 Ubuntu 20.04+ 系统上安装 MySQL 8.0 的完整步骤。
✅ 一、系统准备
1. 更新系统
# CentOS:
sudo yum update -y
# Ubuntu:
sudo apt update && sudo apt upgrade -y
2. 安装常用工具(可选)
# CentOS:
sudo yum install -y wget curl vim net-tools
# Ubuntu:
sudo apt install -y wget curl vim net-tools
✅ 二、安装 MySQL 8.0
方法一:使用官方 YUM/Apt 源安装(推荐)
1. 下载并添加 MySQL 官方源
CentOS:
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
sudo rpm -Uvh mysql80-community-release-el7-7.noarch.rpm
Ubuntu:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
# 在弹出界面中选择 MySQL 8.0,然后按 OK
sudo apt update
2. 安装 MySQL Server
# CentOS:
sudo yum install -y mysql-server
# Ubuntu:
sudo apt install -y mysql-server
3. 启动 MySQL 并设置开机启动
sudo systemctl start mysqld
sudo systemctl enable mysqld
✅ 三、获取临时密码并初始化
MySQL 安装完成后会自动生成一个临时密码,可以通过以下方式查看:
sudo grep 'temporary password' /var/log/mysqld.log
输出示例:
A temporary password is generated for root@localhost: abcdefg123!
✅ 四、运行安全初始化脚本
sudo mysql_secure_installation
按照提示操作:
- 输入临时密码;
- 设置新的 root 密码(需符合复杂度);
- 删除匿名用户;
- 禁止 root 远程登录(除非你需要远程管理);
- 删除 test 数据库;
- 重新加载权限表。
✅ 五、优化 MySQL 配置(适合 4G 内存)
编辑配置文件:
sudo vim /etc/my.cnf
在 [mysqld] 段中加入或修改以下内容:
[mysqld]
innodb_buffer_pool_size = 512M
key_buffer_size = 64M
max_allowed_packet = 64M
thread_stack = 256K
table_open_cache = 64
sort_buffer_size = 512K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
tmp_table_size = 16M
max_connections = 100
innodb_log_file_size = 128M
query_cache_type = 0
query_cache_size = 0
innodb_flush_log_at_trx_commit = 2
skip-name-resolve
⚠️ 注意:以上配置是针对小内存服务器的优化版本,可以根据实际负载调整。
保存后重启 MySQL:
sudo systemctl restart mysqld
✅ 六、开放远程访问(可选)
如果你需要从外部连接 MySQL:
修改绑定地址(如果默认只监听 localhost)
sudo vim /etc/my.cnf
找到 bind-address = 127.0.0.1,可以改为:
bind-address = 0.0.0.0
然后重启 MySQL:
sudo systemctl restart mysqld
添加防火墙规则
CentOS:
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
Ubuntu:
sudo ufw allow 3306/tcp
✅ 七、创建新用户并授权(建议不要用 root 远程连接)
mysql -u root -p
执行 SQL 命令:
CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
✅ 八、检查状态
sudo systemctl status mysqld
✅ 总结
| 步骤 | 内容 |
|---|---|
| 系统要求 | 最低 2G RAM,推荐 4G |
| 安装方式 | 官方 YUM/Apt 源 |
| 配置优化 | 调整缓冲池和连接数 |
| 安全设置 | 修改 root 密码、限制远程访问 |
| 推荐做法 | 创建普通用户而非使用 root 远程登录 |
如你使用的是 Debian 或 AlmaLinux 等系统,也可以告诉我具体系统版本,我可以提供更详细的适配方案。
是否还需要我帮你写一键安装脚本?
CLOUD技术博