杰瑞科技汇

Linux下MySQL安装教程,步骤详解与避坑指南?

MySQL 在 Linux (Ubuntu/Debian) 上的安装与配置完整教程

本教程将引导您完成以下步骤:

Linux下MySQL安装教程,步骤详解与避坑指南?-图1
(图片来源网络,侵删)
  1. 更新系统包列表
  2. 安装 MySQL 服务器
  3. 启动并启用 MySQL 服务
  4. 运行安全脚本进行安全配置
  5. 验证安装
  6. (可选) 远程连接配置
  7. (可选) 卸载 MySQL

第一步:更新系统包列表

在安装任何新软件之前,最好先更新系统的包管理器缓存,以确保您能获取到最新的软件包信息。

打开终端,运行以下命令:

sudo apt update
sudo apt upgrade -y

第二步:安装 MySQL 服务器

我们可以使用 apt 包管理器来安装 MySQL 服务器。

sudo apt install mysql-server -y

这个过程会自动下载并安装 MySQL 服务器核心文件以及一个名为 mysql-community-server 的配置包,安装过程可能需要几分钟,具体取决于您的网络速度和系统性能。

Linux下MySQL安装教程,步骤详解与避坑指南?-图2
(图片来源网络,侵删)

第三步:启动并启用 MySQL 服务

安装完成后,MySQL 服务通常会自动启动,但为了确保它在系统重启后也能自动运行,我们需要手动启用它。

  1. 启动 MySQL 服务

    sudo systemctl start mysql
  2. 启用 MySQL 服务(开机自启)

    sudo systemctl enable mysql
  3. 检查 MySQL 服务状态 您可以随时运行以下命令来检查 MySQL 是否正在运行:

    Linux下MySQL安装教程,步骤详解与避坑指南?-图3
    (图片来源网络,侵删)
    sudo systemctl status mysql

    如果看到绿色的 active (running) 字样,说明服务运行正常,按 q 键退出状态查看界面。


第四步:运行安全脚本进行安全配置

MySQL 提供了一个交互式的安全脚本,它会帮助您:

  • 设置 root 用户的密码(如果安装时未自动设置)。
  • 移除匿名用户。
  • 禁止 root 用户远程登录(提高安全性)。
  • 移除测试数据库。
  • 重新加载权限表使更改生效。

强烈建议您运行此脚本:

sudo mysql_secure_installation

您会看到一系列的交互式提示,以下是推荐的回答(根据您的需求调整):

// 1. 设置密码验证策略
// 会提示您选择密码验证的强度,0代表低(只检查长度),1代表中(默认),2代表强(检查字典文件等),建议选择1或2。
// 输入 1 然后回车
// 2. 为 root 用户设置密码?
// 如果您之前没有设置过,这里会提示您设置,输入 Y 并按回车,然后输入两次您想要的密码。
// 3. 移除匿名用户?
// 推荐移除,以提高安全性,输入 Y。
// 4. 允许 root 用户远程登录?
// 默认是 N,为了安全,不建议让 root 用户远程登录,输入 N。
// 注意:如果您需要通过工具(如 Navicat, DBeaver)从另一台电脑连接,请不要使用 root 用户,而是创建一个专用的数据库用户并授予其远程访问权限。
// 5. 移除 test 数据库?
// 推荐移除,因为它可能被用于未授权的访问,输入 Y。
// 6. 重新加载权限表?
// 这一步会应用所有刚才的更改,输入 Y。

脚本执行完毕后,您的 MySQL 安装就更加安全了。


第五步:验证安装

最直接的验证方法就是尝试登录到 MySQL。

  1. 使用 sudo 登录 在较新版本的 Ubuntu 中,root 用户被系统禁用了直接登录,推荐使用 sudo 来以 root 用户身份登录 MySQL:

    sudo mysql -u root -p

    然后输入您在第四步中设置的 root 密码。

  2. 登录成功后 如果您成功看到了 mysql> 提示符,说明安装和配置都成功了!您可以输入一些简单的命令来测试:

    -- 查看当前数据库
    SHOW DATABASES;
    -- 退出 MySQL
    EXIT;

第六步:(可选) 配置远程连接

默认情况下,MySQL 只监听本地的 0.0.1 地址,禁止远程连接,如果您需要从另一台电脑连接到这台 MySQL 服务器,请按以下步骤操作。

⚠️ 安全警告: 强烈建议不要使用 root 用户进行远程连接,请创建一个专用的、权限受限的用户。

  1. 登录到 MySQL

    sudo mysql -u root -p
  2. 创建一个用于远程连接的新用户'your_remote_user' 替换为您想要的用户名,'your_strong_password' 替换为一个强密码。

    CREATE USER 'your_remote_user'@'%' IDENTIFIED BY 'your_strong_password';
    • 'your_remote_user'@'%': 是一个通配符,表示“任何主机”,如果您只想允许特定的 IP 地址连接,可以将 换成具体的 IP,'your_remote_user'@'192.168.1.100'
  3. 为新用户授予访问权限 授予该用户对所有数据库的访问权限(生产环境应授予最小权限)。

    GRANT ALL PRIVILEGES ON *.* TO 'your_remote_user'@'%' WITH GRANT OPTION;
  4. 刷新权限使更改生效

    FLUSH PRIVILEGES;
  5. 退出 MySQL

    EXIT;
  6. 修改 MySQL 配置文件以允许远程连接 编辑 MySQL 的主配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf

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

    找到 bind-address = 127.0.0.1 这一行,并将其注释掉或修改为 0.0.0(监听所有网络接口)。

    # 将这行
    # bind-address = 127.0.0.1
    # 修改为
    bind-address = 0.0.0.0

    保存文件并退出 (Ctrl+X, 然后按 Y, 最后按 Enter)。

  7. 重启 MySQL 服务以应用配置

    sudo systemctl restart mysql

您就可以从网络上的另一台计算机使用您创建的 your_remote_user 和密码连接到这台 MySQL 服务器了,请确保您的服务器的防火墙(如 ufw)已经开放了 MySQL 的默认端口 3306

# 开放 3306 端口
sudo ufw allow 3306/tcp

第七步:(可选) 卸载 MySQL

如果您需要完全卸载 MySQL(包括数据),请按以下步骤操作:

  1. 停止 MySQL 服务

    sudo systemctl stop mysql
  2. 卸载 MySQL 软件包

    sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-*

    purge 命令会删除软件包及其配置文件。

  3. 自动清理残留的依赖

    sudo apt autoremove -y
    sudo apt autoclean
  4. 手动删除残留的数据目录(可选但推荐)

    sudo rm -rf /var/lib/mysql

至此,MySQL 已被完全从您的系统中移除。


恭喜!您已经成功在 Linux 系统上安装、配置并验证了 MySQL 服务器,现在您可以开始创建数据库、用户,并开始您的项目了,如果您遇到任何问题,请检查 /var/log/mysql/error.log 日志文件,它通常会提供有用的错误信息。

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