文档首页> 互联网资讯> Linux 安装 MySQL:初始化、授权与远程访问

Linux 安装 MySQL:初始化、授权与远程访问

发布时间:2026-08-31 14:26       

linux 安装mysql

在 Linux 服务器上安装 MySQL,通常推荐使用官方软件源或容器镜像,这样可以获得更稳定的版本、安全更新和完整组件。MySQL 是常用的关系型数据库,广泛用于 Web 应用、后台系统、数据分析等场景。安装前需要先确认服务器系统类型,例如 Ubuntu、Debian、CentOS、RHEL、Rocky Linux、AlmaLinux 等,不同系统的服务名称和配置文件路径略有差异。

一、安装前准备

在安装 MySQL 之前,建议先完成以下准备:

  • 拥有 root 权限或 sudo 权限;
  • 确认服务器可以访问外网软件源;
  • 确认数据库端口 3306 没有被占用;
  • 区分 MySQL 与 MariaDB,二者命令相似但不是完全相同的数据库;
  • 如果是生产环境,建议提前规划数据库账号、密码、数据目录和备份策略。

二、Ubuntu / Debian 系统安装 MySQL

如果是 Ubuntu 或 Debian 系统,可以先更新软件源,然后安装 MySQL 服务。

sudo apt update
sudo apt install -y mysql-server

安装完成后,启动 MySQL 并设置开机自启:

sudo systemctl enable mysql
sudo systemctl start mysql
sudo systemctl status mysql

查看 MySQL 版本:

mysql --version

如果系统默认源安装的不是官方 MySQL Community Server,而是 MariaDB,建议前往 MySQL 官方网站下载对应的 APT 软件源配置包,再执行安装。


三、CentOS / RHEL / Rocky / Alma 系统安装 MySQL

在 CentOS、RHEL、Rocky Linux、AlmaLinux 等系统中,推荐使用 MySQL 官方 YUM/DNF 仓库。以下以 MySQL 8.4 LTS 示例,实际安装时可根据官方页面选择对应版本。

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

启动 MySQL 服务:

sudo systemctl enable mysqld
sudo systemctl start mysqld
sudo systemctl status mysqld

查看临时 root 密码:

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:

sudo mysql

创建数据库和用户:

CREATE DATABASE appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

CREATE USER 'app'@'localhost' IDENTIFIED BY '强密码';

GRANT ALL PRIVILEGES ON appdb.* TO 'app'@'localhost';

FLUSH PRIVILEGES;

EXIT;

测试连接:

mysql -u app -p -h 127.0.0.1 -P 3306

如果需要允许远程连接,可以创建远程用户:

CREATE USER 'app'@'%' IDENTIFIED BY '强密码';

GRANT ALL PRIVILEGES ON appdb.* TO 'app'@'%';

FLUSH PRIVILEGES;

注意:'app'@'%' 表示允许该用户从任意主机连接,生产环境应尽量限制为指定 IP。


六、配置 MySQL 参数

MySQL 的配置文件路径因系统而异:

  • Ubuntu / Debian:/etc/mysql/mysql.conf.d/mysqld.cnf
  • CentOS / RHEL / Rocky / Alma:/etc/my.cnf

常见配置如下:

[mysqld]
bind-address=0.0.0.0
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci
max_connections=500
innodb_buffer_pool_size=512M

修改配置后重启服务:

Ubuntu / Debian:

sudo systemctl restart mysql

CentOS / RHEL / Rocky / Alma:

sudo systemctl restart mysqld

如果服务器只允许本地访问,可以将 bind-address 设置为:

bind-address=127.0.0.1

七、开放防火墙端口

如果需要远程连接 MySQL,需要开放 3306 端口。

Ubuntu 使用 UFW:

sudo ufw allow 3306/tcp

CentOS / RHEL 使用 firewalld:

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

如果使用云服务器,还需要在云平台安全组中放行 3306 端口。


八、常见问题排查

1. 服务启动失败

查看服务状态:

sudo systemctl status mysql

或:

sudo systemctl status mysqld

查看日志:

sudo journalctl -u mysql -xe

或:

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

2. 远程连接失败

重点检查:

  • MySQL 服务是否启动;
  • bind-address 是否允许远程连接;
  • 防火墙是否开放 3306
  • 云安全组是否放行;
  • 用户是否允许从远程主机登录;
  • 密码是否正确。

3. 权限不足

如果普通账号无法访问数据库,可以重新授权:

GRANT ALL PRIVILEGES ON appdb.* TO 'app'@'%';
FLUSH PRIVILEGES;

九、使用 Docker 安装 MySQL

如果希望快速部署,也可以使用 Docker 安装 MySQL:

docker run --name mysql \
  -e MYSQL_ROOT_PASSWORD=强密码 \
  -p 3306:3306 \
  -v mysql-data:/var/lib/mysql \
  -d mysql:8.4

进入容器登录:

docker exec -it mysql mysql -uroot -p

使用 Docker 安装时,建议将数据目录挂载到宿主机,避免容器删除后数据丢失。


十、数据库备份与恢复

备份单个数据库:

mysqldump -u root -p --single-transaction --routines --triggers appdb > appdb.sql

恢复数据库:

mysql -u root -p appdb < appdb.sql

生产环境建议定期备份,并将备份文件保存到远程服务器或对象存储中,防止服务器故障导致数据丢失。


总结概括全文

Linux 安装 MySQL 的核心步骤包括:准备系统环境、安装 MySQL 服务、启动服务、执行安全初始化、创建数据库和用户、配置参数、开放端口、测试连接以及定期备份。不同 Linux 发行版的命令和服务名称略有区别,Ubuntu / Debian 通常使用 mysql 服务,CentOS / RHEL 系列通常使用 mysqld 服务。生产环境中,应优先使用官方软件源,设置强密码,限制远程访问,并做好数据备份。只要按照规范流程操作,就可以在 Linux 服务器上稳定部署 MySQL 数据库。