凌峰创科服务平台

Linux安装MySQL数据库服务器步骤详解?

由于 MySQL 官方提供了 Yum 和 APT 软件源,我们推荐使用官方源进行安装,这样可以确保获取到最新、最稳定且经过测试的版本。

Linux安装MySQL数据库服务器步骤详解?-图1
(图片来源网络,侵删)

第一步:准备工作(所有系统通用)

在安装之前,最好先更新一下系统的软件包列表。

对于 CentOS/RHEL 系统:

# 更新所有已安装的包
sudo yum update -y

对于 Ubuntu/Debian 系统:

# 更新软件包列表和已安装的包
sudo apt update && sudo apt upgrade -y

第二步:在 CentOS/RHEL 7/8 系统上安装 MySQL

添加 MySQL 官方 Yum 软件源

MySQL 提供了一个专门的配置工具 mysql-community-release 来简化源的添加过程。

# 对于 CentOS 7
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm -y
# 对于 CentOS 8 / RHEL 8
sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el8-7.noarch.rpm -y

验证源是否添加成功:

# 检查是否有 enabled=1 的源
sudo yum repolist enabled | grep ".*" | grep ".*.*"

你应该能看到类似 mysql-8.0-community/x86_64mysql-connectors-community/x86_64 的源,enabled 列为 1

Linux安装MySQL数据库服务器步骤详解?-图2
(图片来源网络,侵删)

安装 MySQL 服务器

使用 Yum 或 DNF 来安装 MySQL 服务器包。

# 对于 CentOS 7 (使用 yum)
sudo yum install mysql-community-server -y
# 对于 CentOS 8 / RHEL 8 (使用 dnf)
sudo dnf install mysql-community-server -y

启动 MySQL 服务并设置开机自启

# 启动 MySQL 服务
sudo systemctl start mysqld
# 设置 MySQL 开机自启
sudo systemctl enable mysqld

检查 MySQL 服务状态

sudo systemctl status mysqld

如果看到绿色的 active (running) 字样,说明服务已成功启动。

安全配置向导

新安装的 MySQL 有一个安全配置脚本,它会:

  • 设置 root 用户的密码
  • 移除匿名用户
  • 禁止 root 用户远程登录
  • 移除测试数据库
  • 默认情况下禁止 root 用户远程登录
  • 重新加载权限表

运行脚本:

Linux安装MySQL数据库服务器步骤详解?-图3
(图片来源网络,侵删)
sudo mysql_secure_installation

脚本会以交互方式引导你完成配置,对于生产环境,推荐对每个问题都回答 Y (是),对于首次安装,它会自动为你生成一个临时的 root 密码。

如何查找临时 root 密码? 脚本运行前,MySQL 会在错误日志中生成一个临时密码,你可以通过以下命令查看:

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

复制这个密码,在 mysql_secure_installation 提示输入时使用。


第三步:在 Ubuntu/Debian 系统上安装 MySQL

添加 MySQL 官方 APT 软件源

你需要下载并添加 MySQL 的 APT 仓库配置文件。

# 下载 MySQL APT 仓库配置包
sudo apt-get install -y libmysqlclient21
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb

安装这个 .deb 包,它会弹出一个配置界面,请选择 "Ok" 并确认要安装的 MySQL 版本(默认为最新的 8.0)。

sudo dpkg -i mysql-apt-config_*

如果出现依赖问题,运行 sudo apt-get -f install 来解决。

更新你的 APT 包缓存,以包含新的 MySQL 仓库:

sudo apt update

安装 MySQL 服务器

sudo apt install mysql-server -y

启动 MySQL 服务并设置开机自启

# 启动 MySQL 服务
sudo systemctl start mysql
# 设置 MySQL 开机自启
sudo systemctl enable mysql

检查 MySQL 服务状态

sudo systemctl status mysql

同样,确认看到 active (running)

安全配置向导

与 CentOS 类似,Ubuntu/Debian 的安装也包含安全配置脚本。

sudo mysql_secure_installation

这个过程与 CentOS 上的完全相同,包括设置 root 密码、移除匿名用户等,它会自动生成一个临时密码。

如何查找临时 root 密码? 在 Ubuntu/Debian 上,临时密码通常存储在 /etc/mysql/debian.cnf 文件中。

sudo cat /etc/mysql/debian.cnf

文件中的 password 字段就是临时密码,你可以用它来登录。


第四步:验证安装和后续操作

登录 MySQL

使用你刚刚设置的 root 密码登录。

# 方法一 (推荐,root 用户有密码)
mysql -u root -p
# 方法二 (如果使用了 debian-sys-maint 用户,可以从 /etc/mysql/debian.cnf 获取密码)
mysql -u debian-sys-maint -p

输入密码后,你应该会看到 mysql> 提示符。

检查 MySQL 版本

登录后,可以输入以下命令查看版本:

SELECT VERSION();

或者直接在 shell 中执行:

mysql -V

创建新用户和数据库(示例)

为了安全,不建议一直使用 root 用户,创建一个专用的数据库和用户。

-- 创建一个名为 'mydb' 的数据库
CREATE DATABASE mydb;
-- 创建一个用户 'myuser'@'localhost',密码为 'mypassword_strong'
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword_strong';
-- 授予 'myuser' 用户对 'mydb' 数据库的所有权限
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
-- 刷新权限,使更改立即生效
FLUSH PRIVILEGES;
-- 退出 MySQL
EXIT;

你可以使用新用户连接到你的数据库了:

mysql -u myuser -p mydb

常见问题排查

  1. 端口被占用或服务无法启动 检查 MySQL 是否已经在运行,或者是否有其他程序占用了 3306 端口。

    # 检查端口占用
    sudo ss -tulnp | grep 3306
    # 检查 MySQL 进程
    sudo ps aux | grep mysqld
    # 查看详细错误日志
    sudo tail -f /var/log/mysql/error.log  # Ubuntu/Debian
    sudo tail -f /var/log/mysqld.log      # CentOS/RHEL
  2. 忘记 root 密码 这是一个比较复杂的过程,通常需要停止 MySQL 服务,然后以安全模式启动,绕过权限表来修改密码,具体步骤请根据你的系统版本查阅 MySQL 官方文档。

  3. 防火墙问题 如果你的服务器开启了防火墙(如 firewalldufw),需要确保 3306 端口对允许的 IP 开放。

    # CentOS/RHEL (firewalld)
    sudo firewall-cmd --permanent --add-port=3306/tcp
    sudo firewall-cmd --reload
    # Ubuntu/Debian (ufw)
    sudo ufw allow 3306/tcp

至此,你已经成功在 Linux 系统上安装并配置好了 MySQL 数据库服务器。

分享:
扫描分享到社交APP
上一篇
下一篇