Linux安装MySQL全流程

互联网资讯

Linux安装MySQL全流程

2026-08-29 02:26


Linux安装MySQL完整流程与远程访问配置

linux安装mysql

在 Linux 服务器上安装 MySQL 通常用于搭建网站数据库、应用后端数据库、数据分析环境或内部业务系统。不同 Linux 发行版的安装命令略有差异,但整体流程基本一致:准备环境、安装 MySQL 服务、启动服务、初始化安全配置、创建数据库和用户、配置远程访问与备份策略。


一、安装前准备

安装 MySQL 前,建议先确认以下事项:

  1. 拥有 root 权限或 sudo 权限。
  2. 服务器可以访问软件源或 MySQL 官方仓库。
  3. 了解是否需要远程访问 MySQL。
  4. 确认防火墙是否开放 3306 端口。
  5. 准备强密码,避免使用简单密码。

可以使用以下命令检查系统信息:

cat /etc/os-release

查看是否已安装数据库服务:

systemctl status mysql
systemctl status mysqld

二、Ubuntu / Debian 系统安装 MySQL

方法一:使用系统软件源安装

适合快速搭建测试环境或普通业务环境。

sudo apt update
sudo apt install mysql-server

安装完成后启动 MySQL:

sudo systemctl enable mysql
sudo systemctl start mysql

查看服务状态:

sudo systemctl status mysql

登录 MySQL:

sudo mysql

退出 MySQL:

EXIT;

方法二:使用 MySQL 官方仓库安装

如果需要安装 MySQL 官方版本,可以添加官方 APT 仓库。

sudo apt install wget
wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
sudo dpkg -i mysql-apt-config_*.deb
sudo apt update
sudo apt install mysql-server

安装过程中如果弹出配置界面,可以选择需要安装的 MySQL 版本。安装完成后启动服务:

sudo systemctl enable mysql
sudo systemctl start mysql

三、CentOS / RHEL / AlmaLinux / Rocky Linux 安装 MySQL

RHEL 系列系统默认软件源中可能没有 MySQL Server,通常需要添加 MySQL 官方 YUM/DNF 仓库。

以 RHEL 9、AlmaLinux 9、Rocky Linux 9 为例:

sudo dnf install wget
sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
sudo dnf install mysql-community-server

如果系统是 EL8,可以将仓库包地址中的 el9 改为 el8

启动 MySQL 服务:

sudo systemctl enable mysqld
sudo systemctl start mysqld

查看服务状态:

sudo systemctl status mysqld

查看初始临时密码:

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

使用临时密码登录:

mysql -u root -p

四、执行安全初始化

安装 MySQL 后,建议立即执行安全配置:

sudo mysql_secure_installation

该命令通常会提示你完成以下操作:

  1. 设置或修改 root 密码。
  2. 删除匿名用户。
  3. 禁止 root 远程登录。
  4. 删除测试数据库。
  5. 重新加载权限表。

生产环境中建议全部选择安全选项,尤其是不要允许 root 远程登录。


五、登录 MySQL 并创建数据库

登录 MySQL:

mysql -u root -p

创建数据库:

CREATE DATABASE app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

创建业务用户:

CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';

授权用户访问指定数据库:

GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;

退出:

EXIT;

测试登录:

mysql -u app_user -p app_db

六、修改 root 密码

如果需要修改 root 密码,可以执行:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPassword123!';
FLUSH PRIVILEGES;

注意:生产环境应使用复杂密码,避免使用示例中的测试密码。


七、配置 MySQL 远程访问

默认情况下,MySQL 通常只允许本地连接。如果应用服务器和数据库服务器不在同一台机器上,需要开启远程访问。

1. 修改配置文件

Ubuntu / Debian 常见配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

RHEL / CentOS 常见配置文件:

sudo nano /etc/my.cnf

找到如下配置:

bind-address = 127.0.0.1

可以修改为:

bind-address = 0.0.0.0

或者绑定服务器内网 IP:

bind-address = 192.168.1.100

修改后重启 MySQL。

Ubuntu / Debian:

sudo systemctl restart mysql

RHEL / CentOS:

sudo systemctl restart mysqld

2. 创建允许远程登录的用户

CREATE USER 'app_user'@'%' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'%';
FLUSH PRIVILEGES;

其中 % 表示允许任意主机连接。生产环境中更建议使用指定 IP,例如:

CREATE USER 'app_user'@'192.168.1.50' IDENTIFIED BY 'StrongPassword123!';

3. 开放防火墙端口

Ubuntu 使用 UFW:

sudo ufw allow 3306/tcp

RHEL / CentOS / Rocky / AlmaLinux 使用 firewalld:

sudo firewall-cmd --add-port=3306/tcp --permanent
sudo firewall-cmd --reload

如果服务器部署在云平台上,还需要在云安全组中开放 3306 端口。


八、常用管理命令

查看 MySQL 是否正常运行:

mysqladmin -u root -p ping

查看数据库列表:

SHOW DATABASES;

查看端口:

SHOW VARIABLES LIKE 'port';

查看数据目录:

SHOW VARIABLES LIKE 'datadir';

查看错误日志:

Ubuntu / Debian:

sudo tail -n 100 /var/log/mysql/error.log

RHEL / CentOS:

sudo tail -n 100 /var/log/mysqld.log

备份数据库:

mysqldump -u root -p app_db > app_db.sql

恢复数据库:

mysql -u root -p app_db < app_db.sql

九、常见问题处理

1. 无法启动 MySQL

查看服务状态:

sudo systemctl status mysql

或:

sudo systemctl status mysqld

查看日志:

sudo journalctl -xe

2. 忘记 root 密码

可以先查看 MySQL 日志中的临时密码:

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

如果无法找回,需要按照 MySQL 官方方式重置 root 密码,生产环境操作前建议先备份数据。


3. 远程连接失败

常见原因包括:

  1. MySQL 没有开放远程访问。
  2. bind-address 仍绑定在 127.0.0.1
  3. 防火墙未开放 3306 端口。
  4. 云安全组未放行端口。
  5. 用户权限中的 host 不是允许访问的地址。
  6. 应用服务器连接地址填写错误。

4. 中文乱码

创建数据库和表时建议使用 utf8mb4 字符集:

CREATE DATABASE app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

utf8mb4 支持完整 Unicode,包括中文、表情符号等。


十、生产环境安全建议

  1. 不建议使用 root 账号连接应用程序。
  2. 为每个应用创建独立数据库和用户。
  3. 避免将 MySQL 直接暴露在公网。
  4. 使用强密码和最小权限原则。
  5. 定期备份数据库。
  6. 开启日志审计或访问监控。
  7. 及时更新系统和 MySQL 补丁。
  8. 远程访问尽量通过 VPN 或内网连接。

总结

本文介绍了在 Linux 系统中安装 MySQL 的完整流程,包括 Ubuntu、Debian、CentOS、RHEL、AlmaLinux、Rocky Linux 等常见系统的安装方式。安装完成后,需要通过安全初始化、创建数据库用户、配置远程访问、开放防火墙端口等步骤,让 MySQL 能够安全稳定地运行。对于生产环境,应重点关注权限控制、密码强度、备份策略和网络访问安全。


标签: Linux安装MySQL 数据库配置 远程访问