加油
努力

如何在阿里云2核4G的Linux服务器上部署MySQL数据库?

在阿里云2核4G的Linux服务器上部署MySQL数据库是一个常见的任务。以下是详细的步骤,适用于主流的Linux发行版(如 CentOS、Ubuntu)。


✅ 一、准备工作

  1. 登录服务器
    使用 SSH 登录你的阿里云ECS实例:

    ssh root@your_server_ip
  2. 更新系统包(推荐)

    • 对于 Ubuntu/Debian
      sudo apt update && sudo apt upgrade -y
    • 对于 CentOS/RHEL
      sudo yum update -y
      # 或者使用 dnf(CentOS 8+)
      sudo dnf update -y

✅ 二、安装 MySQL

方式一:安装 MySQL 官方版本(推荐)

1. 添加 MySQL 官方仓库
  • Ubuntu:

    # 下载并安装 MySQL APT 配置包
    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(默认),然后确认
    sudo apt update
  • CentOS 7/8:

    # 添加 MySQL Yum 仓库
    sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
    # 启用 MySQL 8.0 仓库
    sudo yum-config-manager --enable mysql80-community
2. 安装 MySQL 服务
# Ubuntu
sudo apt install mysql-server -y

# CentOS
sudo yum install mysql-server -y

⚠️ 注意:对于生产环境建议选择稳定版本(如 MySQL 8.0 或 5.7),避免使用开发版。


✅ 三、启动并设置开机自启

# 启动 MySQL 服务
sudo systemctl start mysqld
# 或某些系统为 mysql
sudo systemctl start mysql

# 设置开机自启
sudo systemctl enable mysqld

✅ 四、初始化安全配置

运行安全脚本(首次安装后必须执行):

sudo mysql_secure_installation

该脚本会引导你完成以下操作:

  • 设置 root 用户密码
  • 移除匿名用户
  • 禁止 root 远程登录(可选)
  • 删除测试数据库
  • 重新加载权限表

💡 建议设置强密码,并根据需求决定是否允许远程访问。


✅ 五、登录 MySQL 并创建用户(可选)

mysql -u root -p

进入后可以创建新用户并授权(例如用于应用连接):

-- 创建用户(例如用户名 appuser,密码 your_password)
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'your_password';

-- 授予数据库权限(示例:对 mydb 数据库完全控制)
GRANT ALL PRIVILEGES ON mydb.* TO 'appuser'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

如需远程连接,将 'localhost' 改为 '%',并确保防火墙和安全组允许。


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

  1. 修改 MySQL 配置文件

    编辑 /etc/mysql/mysql.conf.d/mysqld.cnf(Ubuntu)或 /etc/my.cnf / /etc/my.cnf.d/server.cnf(CentOS):

    找到 bind-address 行,改为:

    bind-address = 0.0.0.0

    ⚠️ 开放远程访问有安全风险,请确保使用强密码并限制 IP。

  2. 重启 MySQL

    sudo systemctl restart mysqld
  3. 阿里云安全组规则

    • 登录 阿里云控制台
    • 找到你的 ECS 实例 → 安全组 → 配置规则
    • 添加入方向规则:
      • 协议类型:TCP
      • 端口范围: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

# 内存相关(适合 4G 内存)
key_buffer_size = 128M
max_allowed_packet = 64M
table_open_cache = 256
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M

# InnoDB 设置
innodb_buffer_pool_size = 1G   # 推荐为物理内存的 50%~70%
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

# 连接数
max_connections = 150

保存后重启 MySQL:

sudo systemctl restart mysqld

✅ 八、验证安装

# 查看服务状态
sudo systemctl status mysqld

# 查看监听端口
sudo netstat -tulnp | grep 3306

# 检查 MySQL 版本
mysql --version

✅ 九、常用命令汇总

功能 命令
启动 MySQL sudo systemctl start mysqld
停止 MySQL sudo systemctl stop mysqld
重启 MySQL sudo systemctl restart mysqld
查看状态 sudo systemctl status mysqld
登录 MySQL mysql -u root -p

✅ 十、注意事项

  1. 定期备份数据:使用 mysqldump 或 XtraBackup。
  2. 监控资源使用:2核4G 适合中小型应用,避免高并发或大数据量场景。
  3. 开启日志审计:必要时记录慢查询日志。
  4. 保持更新:定期升级 MySQL 和系统补丁。

如有需要,我可以提供一键部署脚本或 Docker 部署方式。欢迎继续提问!

云服务器