2核4g服务器安装mysql 5.7?

在 2核4G 的服务器上安装 MySQL 5.7 是完全可行的,这种配置适合中小型应用或开发测试环境。以下是详细的安装步骤(以 CentOS 7/8Ubuntu 20.04 为例)。


✅ 一、准备工作

1. 更新系统

# CentOS/RHEL
sudo yum update -y

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

2. 检查内存和 CPU

free -h    # 查看内存(应有约3.7G可用)
lscpu      # 查看CPU核心数

2核4G 足够运行 MySQL 5.7,但需适当优化配置避免 OOM。


✅ 二、安装 MySQL 5.7

方法一:CentOS 7/8 安装 MySQL 5.7(推荐使用官方 Yum 源)

1. 添加 MySQL 官方 Yum 源

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm

注意:el7 适用于 CentOS 7,如果是 CentOS 8,请使用 el8 版本(如果存在),或继续用 el7 源。

2. 安装 MySQL Server

sudo yum install -y mysql-community-server

3. 启动并设置开机自启

sudo systemctl start mysqld
sudo systemctl enable mysqld

4. 获取临时 root 密码

MySQL 5.7 首次启动会生成一个临时密码:

grep 'temporary password' /var/log/mysqld.log

输出示例:

A temporary password is generated for root@localhost: abc123!XYZ

5. 初始化安全设置

sudo mysql_secure_installation

按提示操作:

  • 输入临时密码
  • 设置新密码(需包含大小写、数字、特殊字符)
  • 删除匿名用户
  • 禁止 root 远程登录(可选)
  • 删除 test 数据库
  • 重新加载权限表

方法二:Ubuntu 20.04 安装 MySQL 5.7

Ubuntu 默认源可能提供的是 MySQL 8.0,需手动添加 MySQL 5.7 源。

1. 添加 MySQL APT 源

wget https://dev.mysql.com/get/mysql-apt-config_0.8.16-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.16-1_all.deb

在弹出的界面中选择:

  • Choose MySQL Server & Cluster → Select mysql-5.7
  • 保持其他默认 → OK

2. 更新并安装

sudo apt update
sudo apt install -y mysql-server

3. 启动并设置

sudo systemctl start mysql
sudo systemctl enable mysql

4. 安全初始化

sudo mysql_secure_installation

如果提示需要密码,可先免密登录修改。


✅ 三、(可选)配置远程访问

1. 修改配置文件(允许远程连接)

编辑 MySQL 配置文件:

# CentOS: 
sudo vi /etc/my.cnf

# Ubuntu:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

找到 bind-address,改为:

bind-address = 0.0.0.0

⚠️ 注意:开放远程需确保防火墙和安全组配置正确,避免暴露到公网。

2. 授权远程用户

登录 MySQL:

mysql -u root -p

执行:

-- 创建远程用户(例如 user1,密码为 Passw0rd!)
CREATE USER 'user1'@'%' IDENTIFIED BY 'Passw0rd!';

-- 授予所有权限(生产环境请按需授权)
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%' WITH GRANT OPTION;

-- 刷新权限
FLUSH PRIVILEGES;

3. 开放防火墙端口

# CentOS 7+ (firewalld)
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

# Ubuntu (ufw)
sudo ufw allow 3306

✅ 四、MySQL 5.7 适配 2核4G 的优化建议(重要!)

编辑 /etc/my.cnf(或对应配置文件),添加以下内容:

[mysqld]
# 基础设置
port = 3306
socket = /var/lib/mysql/mysql.sock
datadir = /var/lib/mysql
symbolic-links = 0

# 性能优化(针对 2C4G)
innodb_buffer_pool_size = 1G        # 推荐设为物理内存的 50%~70%
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2   # 提高性能,轻微降低持久性
max_connections = 100                # 根据实际需求调整
table_open_cache = 400
tmp_table_size = 64M
max_heap_table_size = 64M
query_cache_type = 1
query_cache_size = 64M

# 日志
log-error = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid

修改 innodb_buffer_pool_size 后需重启 MySQL 生效。

重启 MySQL:

sudo systemctl restart mysqld
# 或
sudo systemctl restart mysql

✅ 五、验证安装

mysql -u root -p -e "SELECT VERSION();"

输出应类似:

+-----------+
| VERSION() |
+-----------+
| 5.7.44    |
+-----------+

✅ 六、常见问题

问题 解决方法
Can't connect to local MySQL server 检查服务是否运行:systemctl status mysqld
密码错误 使用 skip-grant-tables 模式重置密码
内存不足崩溃 检查 innodb_buffer_pool_size 是否过大

✅ 总结

  • ✅ 2核4G 可以稳定运行 MySQL 5.7
  • ✅ 建议使用官方源安装
  • ✅ 必须进行安全配置和性能调优
  • ✅ 生产环境建议开启日志监控和定期备份

如需我提供一键安装脚本或自动优化配置文件,也可以告诉我你的系统版本(如 CentOS 7、Ubuntu 20.04 等),我可以为你生成。

未经允许不得转载:ECLOUD博客 » 2核4g服务器安装mysql 5.7?