本指南将使用官方推荐的 APT 和 YUM 包管理器进行安装,这是最稳定、最简单的方式。

第零步:准备工作
在开始之前,请确保你:
- 拥有服务器的管理员权限 (root 或 sudo 用户)。
- 更新了系统包列表,这是一个好习惯,可以确保你安装的是最新的软件包。
- 对于 Ubuntu/Debian:
sudo apt update sudo apt upgrade -y
- 对于 CentOS/RHEL 7/8:
sudo yum update -y
- 对于 Ubuntu/Debian:
- 了解你的 Linux 发行版,打开终端,运行以下命令之一:
lsb_release -a(适用于 Ubuntu/Debian)cat /etc/os-release(通用)
第一步:安装 MySQL 服务器
根据你的系统,选择对应的操作。
在 Ubuntu/Debian 系统上安装
-
安装 MySQL 服务器 Ubuntu 和 Debian 的软件仓库中默认包含 MySQL,我们可以直接使用
apt命令进行安装。sudo apt install mysql-server -y
安装过程会自动启动 MySQL 服务。
(图片来源网络,侵删) -
检查 MySQL 服务状态 安装完成后,可以检查 MySQL 服务是否正在运行。
sudo systemctl status mysql
如果看到
active (running),则表示服务已成功启动,如果未启动,可以使用以下命令启动:sudo systemctl start mysql
在 CentOS/RHEL 系统上安装
在 CentOS/RHEL 7 及更高版本中,官方推荐使用 MySQL 官方的 Yum 仓库。
-
添加 MySQL 官方 Yum 仓库 你需要从 MySQL 官网下载并添加适合你系统的 Yum 仓库配置文件。
(图片来源网络,侵删)# 下载并添加 MySQL 官方 Yum 仓库 sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm -y
注意:如果你使用的是 CentOS 8/RHEL 8,请将
el7替换为el8,对于 RHEL 9,请使用el9。 -
验证仓库是否添加成功
sudo yum repolist enabled | ".*".*" "\(.*\?\)".enabled"
你应该能看到类似
MySQL 8.0 Community和MySQL 8.0 Community - Debuginfo的已启用仓库。 -
安装 MySQL 服务器
sudo yum install mysql-community-server -y
安装过程会自动下载并配置 MySQL。
-
启动并检查 MySQL 服务
# 启动 MySQL 服务 sudo systemctl start mysqld # 检查服务状态 sudo systemctl status mysqld
第二步:安全配置安装
新安装的 MySQL 有一个非常重要的安全配置脚本,它会:
- 设置 root 用户的密码(如果是首次安装,CentOS 会自动生成一个临时密码)。
- 移除匿名用户。
- 禁止 root 用户远程登录。
- 移除测试数据库。
- 默认移除了允许远程连接的用户,只允许
localhost。 - 加载所有权限表。
-
运行安全配置脚本
sudo mysql_secure_installation
-
按照提示进行操作:
Enter password for user root:- 如果你使用的是 Ubuntu/Debian,安装过程可能没有为 root 设置密码,直接按 Enter 键即可。
- 如果你使用的是 CentOS/RHEL,它会显示一个临时生成的 root 密码,你可以通过以下命令查找:
sudo grep 'temporary password' /var/log/mysqld.log
复制这个临时密码,然后粘贴到这里。
The existing password for the user account root has already been set, please set it again.- 如果你之前设置过密码,现在会要求你输入旧密码,然后设置一个新密码。强烈设置一个强密码!
Set root password? [Y/n]- 输入
Y并设置一个强密码。
- 输入
Remove anonymous users? [Y/n]- 输入
Y移除匿名用户,提高安全性。
- 输入
Disallow root login remotely? [Y/n]- 输入
Y禁止 root 远程登录,这是最佳安全实践。
- 输入
Remove test database and access to it? [Y/n]- 输入
Y删除测试数据库。
- 输入
Reload privilege tables now? [Y/n]- 输入
Y重新加载权限表,使所有更改立即生效。
- 输入
第三步:连接 MySQL 并验证
安全配置完成后,你可以尝试连接到 MySQL 数据库。
-
登录 MySQL
mysql -u root -p
然后输入你在上一步中设置的 root 密码。
-
验证安装 成功登录后,你会看到
mysql>提示符,你可以输入一些基本命令来验证:-- 查看当前数据库 SHOW DATABASES; -- 查看MySQL版本 SELECT VERSION(); -- 退出MySQL EXIT;
第四步:配置远程访问(可选)
默认情况下,MySQL 只允许本地连接,如果你需要从其他电脑连接到这台 MySQL 服务器,需要进行如下配置。
警告: 开放远程连接会增加安全风险,请确保你已采取其他安全措施,如设置防火墙规则、创建专用用户等。
-
创建允许远程连接的用户 首先登录到 MySQL:
mysql -u root -p
然后执行以下 SQL 语句,创建一个名为
remote_user,密码为your_strong_password的用户,并授予所有数据库的权限。-- 'your_strong_password' 请替换成你自己的强密码 CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_strong_password'; -- 授予所有数据库的所有权限 GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION; -- 刷新权限,使更改生效 FLUSH PRIVILEGES;
-
开放防火墙端口 MySQL 默认使用
3306端口,你需要确保服务器的防火墙允许这个端口的入站流量。-
对于 Ubuntu/Debian (使用 UFW):
sudo ufw allow 3306/tcp
-
对于 CentOS/RHEL (使用 Firewalld):
sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload
-
-
配置 MySQL 监听所有 IP 编辑 MySQL 的主配置文件
/etc/mysql/mysql.conf.d/mysqld.cnf(Ubuntu) 或/etc/my.cnf(CentOS)。sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到
bind-address = 127.0.0.1这一行,将其注释掉或修改为0.0.0,表示监听所有网络接口。# 注释掉这一行,使其不生效 # bind-address = 127.0.0.1 # 或者直接修改为 0.0.0.0 bind-address = 0.0.0.0保存并关闭文件。
-
重启 MySQL 服务
sudo systemctl restart mysql
你应该可以从任何网络中的其他计算机使用 remote_user 和你设置的密码连接到你的 MySQL 服务器了。
常用管理命令
| 功能 | 命令 |
|---|---|
| 启动 MySQL 服务 | sudo systemctl start mysql (Ubuntu) 或 sudo systemctl start mysqld (CentOS) |
| 停止 MySQL 服务 | sudo systemctl stop mysql 或 sudo systemctl stop mysqld |
| 重启 MySQL 服务 | sudo systemctl restart mysql 或 sudo systemctl restart mysqld |
| 设置开机自启 | sudo systemctl enable mysql 或 sudo systemctl enable mysqld |
| 查看 MySQL 服务状态 | sudo systemctl status mysql 或 sudo systemctl status mysqld |
| 完全卸载 MySQL | Ubuntu/Debian: sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*CentOS/RHEL: sudo yum remove mysql-community-server |
恭喜!你已经成功在 Linux 服务器上安装并配置了 MySQL。
