Ubuntu 20.04/22.04 安装 MySQL 8.0 完整版教程(含配置、远程连接、常用命令)

30次阅读
没有评论

MySQL 是目前最流行的开源关系型数据库之一,广泛应用于 Web 开发、后端服务等场景。在 Ubuntu 系统中,我们可以通过官方软件源快速安装、配置 MySQL 8.0,本文将从零开始,手把手教你完成安装、初始化、安全加固、远程连接等全流程操作,新手也能轻松上手。

一、环境说明

本文基于 Ubuntu 20.04 / 22.04 版本(LTS 长期支持版,最常用),安装的是官方源中的 MySQL 8.0 稳定版。

操作全程使用 sudo 管理员权限,确保命令执行成功。


二、前期准备:更新系统软件源

在安装任何软件前,建议先更新 Ubuntu 的软件包索引,确保安装的是最新版本的依赖:

bash

运行

# 更新软件源索引
sudo apt update
# 升级已安装的软件包(可选,推荐执行)
sudo apt upgrade -y

三、安装 MySQL 服务器

Ubuntu 官方软件源已集成 MySQL,直接通过 apt 命令安装即可,无需手动下载安装包:

bash

运行

# 安装 MySQL 服务器
sudo apt install mysql-server -y

安装过程中会自动配置依赖、启动服务,无需手动干预

安装完成后,MySQL 服务会默认开机自启,我们可以先查看服务状态:

bash

运行

sudo systemctl status mysql

如果看到 active (running) 绿色字样,说明 MySQL 已成功运行。


四、关键初始化:设置 root 账户密码(必做)

坑点说明

Ubuntu 安装的 MySQL 8.0 默认使用 auth_socket 认证插件,root 用户无需密码即可通过本地终端登录,但无法用密码远程 / 工具登录,这不符合我们的使用习惯。

我们需要修改 root 用户的认证方式,并设置自定义密码:

  1. 无密码登录 MySQL 控制台:

bash

运行

sudo mysql
  1. 执行命令修改 root 密码(将 你的密码 替换为自己的强密码):

sql

-- 修改 root 用户认证方式为密码认证,并设置密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
-- 刷新权限,使配置生效
FLUSH PRIVILEGES;
  1. 退出 MySQL 控制台:

sql

exit;

五、安全加固:运行 MySQL 安全配置脚本

MySQL 提供了官方安全脚本 mysql_secure_installation,可以一键完成:

  • 设置密码强度校验
  • 删除匿名用户
  • 禁止 root 用户远程登录
  • 删除测试用的数据库
  • 刷新权限

执行命令:

bash

运行

sudo mysql_secure_installation

脚本交互步骤(新手参考)

  1. 询问是否启用密码验证组件:输入 N(新手无需开启,避免密码规则过于严格)
  2. 输入 root 用户的新密码(上一步设置的密码)
  3. 询问是否删除匿名用户:输入 Y
  4. 询问是否禁止 root 远程登录:输入 Y(安全首选)
  5. 询问是否删除 test 测试数据库:输入 Y
  6. 询问是否立即刷新权限:输入 Y

执行完成后,MySQL 的基础安全配置就完成了!


六、验证安装:登录 MySQL

执行以下命令,用密码登录 MySQL 控制台,验证配置是否生效:

bash

运行

mysql -u root -p

输入你设置的 root 密码,成功进入 MySQL 命令行,说明安装 + 配置全部完成 ✅

查看 MySQL 版本(验证安装):

sql

SELECT VERSION();

七、可选配置:开启 MySQL 远程连接

默认情况下,MySQL 只允许本地(127.0.0.1) 连接,如果你需要用 Navicat、DBeaver 等图形工具远程连接,按以下步骤配置:

1. 修改 MySQL 配置文件

编辑 MySQL 主配置文件,修改绑定地址:

bash

运行

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

找到这一行:

ini

bind-address = 127.0.0.1

修改为:

ini

bind-address = 0.0.0.0

作用:允许所有 IP 地址访问 MySQL

Ctrl+O 保存,Ctrl+X 退出编辑器。

2. 创建远程访问用户(推荐)

不建议直接用 root 用户远程连接,我们新建一个专用远程用户:

  1. 登录 MySQL:mysql -u root -p
  2. 创建用户(% 代表所有 IP 可连接,远程密码 自定义):

sql

CREATE USER '远程用户名'@'%' IDENTIFIED WITH mysql_native_password BY '远程密码';
  1. 授予用户所有权限(生产环境按需授权):

sql

GRANT ALL PRIVILEGES ON *.* TO '远程用户名'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;

3. 开放防火墙 3306 端口

Ubuntu 默认启用 UFW 防火墙,需要放行 MySQL 默认端口 3306

bash

运行

sudo ufw allow 3306/tcp

4. 重启 MySQL 服务

bash

运行

sudo systemctl restart mysql

配置完成!现在可以用图形化工具连接你的 MySQL 了。


八、MySQL 服务常用管理命令

日常使用中,这些命令能帮你快速管理 MySQL 服务:

bash

运行

# 启动 MySQL
sudo systemctl start mysql

# 停止 MySQL
sudo systemctl stop mysql

# 重启 MySQL
sudo systemctl restart mysql

# 设置开机自启(默认已开启)
sudo systemctl enable mysql

# 关闭开机自启
sudo systemctl disable mysql

# 查看 MySQL 运行状态
sudo systemctl status mysql

九、可选:彻底卸载 MySQL

如果需要重装或卸载 MySQL,执行以下命令彻底删除(数据会清空,谨慎操作):

bash

运行

# 停止服务
sudo systemctl stop mysql
# 卸载 MySQL 相关包
sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-* -y
# 删除配置和数据文件
sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql
# 清理无用依赖
sudo apt autoremove -y
sudo apt autoclean

十、常见问题与注意事项

  1. 登录报错 Access denied检查密码是否正确,确认已修改 root 的认证方式为 mysql_native_password
  2. 远程连接失败① 检查 bind-address 是否改为 0.0.0.0② 检查防火墙是否放行 3306 端口③ 检查远程用户是否创建成功
  3. 安全建议
    • 生产环境不要用 % 允许所有 IP,改为指定 IP(如 'user'@'192.168.1.100'
    • 密码必须包含字母 + 数字 + 特殊字符,避免弱密码
    • 不要暴露 root 用户的远程权限

总结

本文完整覆盖了 Ubuntu 系统安装 MySQL 8.0 的全流程:

  1. 一键安装 MySQL 服务器
  2. 解决默认无密码登录的坑
  3. 安全加固提升数据库安全性
  4. 远程连接配置 + 常用命令整个过程简单高效,非常适合 Ubuntu 新手搭建本地 / 服务器的 MySQL 开发环境!
正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)
验证码