凌峰创科服务平台

Linux服务器如何安装MySQL?

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

Linux服务器如何安装MySQL?-图1
(图片来源网络,侵删)

第零步:准备工作

在开始之前,请确保你:

  1. 拥有服务器的管理员权限 (root 或 sudo 用户)
  2. 更新了系统包列表,这是一个好习惯,可以确保你安装的是最新的软件包。
    • 对于 Ubuntu/Debian:
      sudo apt update
      sudo apt upgrade -y
    • 对于 CentOS/RHEL 7/8:
      sudo yum update -y
  3. 了解你的 Linux 发行版,打开终端,运行以下命令之一:
    • lsb_release -a (适用于 Ubuntu/Debian)
    • cat /etc/os-release (通用)

第一步:安装 MySQL 服务器

根据你的系统,选择对应的操作。

在 Ubuntu/Debian 系统上安装

  1. 安装 MySQL 服务器 Ubuntu 和 Debian 的软件仓库中默认包含 MySQL,我们可以直接使用 apt 命令进行安装。

    sudo apt install mysql-server -y

    安装过程会自动启动 MySQL 服务。

    Linux服务器如何安装MySQL?-图2
    (图片来源网络,侵删)
  2. 检查 MySQL 服务状态 安装完成后,可以检查 MySQL 服务是否正在运行。

    sudo systemctl status mysql

    如果看到 active (running),则表示服务已成功启动,如果未启动,可以使用以下命令启动:

    sudo systemctl start mysql

在 CentOS/RHEL 系统上安装

在 CentOS/RHEL 7 及更高版本中,官方推荐使用 MySQL 官方的 Yum 仓库。

  1. 添加 MySQL 官方 Yum 仓库 你需要从 MySQL 官网下载并添加适合你系统的 Yum 仓库配置文件。

    Linux服务器如何安装MySQL?-图3
    (图片来源网络,侵删)
    # 下载并添加 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

  2. 验证仓库是否添加成功

    sudo yum repolist enabled | ".*".*" "\(.*\?\)".enabled"

    你应该能看到类似 MySQL 8.0 CommunityMySQL 8.0 Community - Debuginfo 的已启用仓库。

  3. 安装 MySQL 服务器

    sudo yum install mysql-community-server -y

    安装过程会自动下载并配置 MySQL。

  4. 启动并检查 MySQL 服务

    # 启动 MySQL 服务
    sudo systemctl start mysqld
    # 检查服务状态
    sudo systemctl status mysqld

第二步:安全配置安装

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

  • 设置 root 用户的密码(如果是首次安装,CentOS 会自动生成一个临时密码)。
  • 移除匿名用户。
  • 禁止 root 用户远程登录。
  • 移除测试数据库。
  • 默认移除了允许远程连接的用户,只允许 localhost
  • 加载所有权限表。
  1. 运行安全配置脚本

    sudo mysql_secure_installation
  2. 按照提示进行操作:

    • 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 数据库。

  1. 登录 MySQL

    mysql -u root -p

    然后输入你在上一步中设置的 root 密码。

  2. 验证安装 成功登录后,你会看到 mysql> 提示符,你可以输入一些基本命令来验证:

    -- 查看当前数据库
    SHOW DATABASES;
    -- 查看MySQL版本
    SELECT VERSION();
    -- 退出MySQL
    EXIT;

第四步:配置远程访问(可选)

默认情况下,MySQL 只允许本地连接,如果你需要从其他电脑连接到这台 MySQL 服务器,需要进行如下配置。

警告: 开放远程连接会增加安全风险,请确保你已采取其他安全措施,如设置防火墙规则、创建专用用户等。

  1. 创建允许远程连接的用户 首先登录到 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;
  2. 开放防火墙端口 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
  3. 配置 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

    保存并关闭文件。

  4. 重启 MySQL 服务

    sudo systemctl restart mysql

你应该可以从任何网络中的其他计算机使用 remote_user 和你设置的密码连接到你的 MySQL 服务器了。


常用管理命令

功能 命令
启动 MySQL 服务 sudo systemctl start mysql (Ubuntu) 或 sudo systemctl start mysqld (CentOS)
停止 MySQL 服务 sudo systemctl stop mysqlsudo systemctl stop mysqld
重启 MySQL 服务 sudo systemctl restart mysqlsudo systemctl restart mysqld
设置开机自启 sudo systemctl enable mysqlsudo systemctl enable mysqld
查看 MySQL 服务状态 sudo systemctl status mysqlsudo 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。

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