如何在Linux服务器安装mysql_mysql Linux安装步骤详解

推荐使用官方APT或YUM/DNF仓库安装MySQL,禁用编译或二进制包;需先确认系统版本、更新源,再按发行版执行对应安装命令;安装后手动启用服务,运行mysql_secure_installation强化安全;如需远程访问,修改bind-address并授权用户,同时开放防火墙3306端口。

在 Linux 服务器上安装 MySQL,推荐使用官方 APT(Ubuntu/Debian)或 YUM/DNF(CentOS/RHEL/Rocky)仓库安装,安全稳定、自动处理依赖。不建议手动编译或下载二进制包,除非有特殊定制需求。

确认系统版本并更新源

先执行以下命令查看系统信息:

Ubuntu/Debian:

lsb_release -acat /etc/os-release

RHEL/CentOS/Rocky/AlmaLinux:

cat /etc/redhat-releaserpm -q centos-release

然后更新软件包索引:

  • Ubuntu/Debian:sudo apt update
  • CentOS 7:sudo yum makecache
  • RHEL 8+/Rocky 8+:sudo dnf makecache

安装 MySQL 服务端

不同系统安装命令略有差异,注意选择对应版本:

  • Ubuntu 22.04+ / Debian 11+:默认源已包含 MySQL 8.0,运行 sudo apt install mysql-server
  • CentOS 7:MySQL 官方已停止支持,建议用 sudo yum install mysql-community-server(需先配置 MySQL 官方 YUM 源)
  • RHEL 8+ / Rocky 8+ / AlmaLinux 8+:系统自带的是 MariaDB,如需 MySQL,请添加 MySQL 官方仓库后运行 sudo dnf install mysql-community-server

安装完成后,MySQL 服务不会自动启动,需手动启用:

sudo systemctl enable mysqld(RHEL 系)或 sudo systemctl enable mysql(Debian 系)

初始化与安全配置

首次启动会自动生成 root 密码(记录在日志中),或触发交互式初始化:

  • 启动服务:sudo systemctl start mysqld(RHEL)或 sudo systemctl start mysql(Debian)
  • 查看临时 root 密码(仅 RHEL/CentOS):sudo grep 'temporary password' /var/log/mysqld.log
  • 运行安全脚本:sudo mysql_secure_installation,按提示设置新密码、禁用匿名用户、禁止远程 root 登录、删除测试库等

该脚本会显著提升安全性,务必执行。

允许远程访问(可选)

默认只监听本地(127.0.0.1)。如需远程连接,修改 MySQL 配置:

  • 编辑配置文件:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf(Debian)或 sudo nano /etc/my.cnf(RHEL)
  • 找到 bind-address = 127.0.0.1,改为 bind-address = 0.0.0.0(或指定 IP)
  • 重启服务:sudo systemctl restart mysqlsudo systemctl restart mysqld
  • 登录 MySQL,为远程用户授权:
    CREATE USER 'admin'@'%' IDENTIFIED BY 'StrongPass123';
    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

注意:开放远程访问前,确保防火墙放行 3306 端口(sudo ufw allow 3306sudo firewall-cmd --permanent --add-port=3306/tcp)。