当前位置: 首页 > ops >正文

MySQL 8 完整安装指南(Ubuntu 22.04)

MySQL 8 完整安装指南(Ubuntu 22.04)

本教程详细说明如何在 Ubuntu 22.04 上安装和配置 MySQL 8,包含安全优化及远程访问设置。

1️⃣ 添加 MySQL 官方 APT 仓库

官网仓库下载地址:MySQL APT 仓库下载页

  1. 下载仓库配置包:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
  1. 安装仓库配置包:
sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb

安装中弹出的配置菜单默认即可。如有特殊版本需求,可根据提示调整。

2️⃣ 更新 APT 软件包索引

sudo apt-get update

3️⃣ 安装 MySQL Server

执行安装命令:

sudo apt-get install mysql-server

安装时系统会提示设置 root 用户密码。如果未设置,MySQL 默认采用 socket 认证(无需密码但需有 sudo 权限)。

4️⃣ 验证安装与服务状态

确认 MySQL 服务状态:

systemctl status mysql

如果服务未启动,可以手动启动:

sudo systemctl start mysql

设置服务开机自启:

sudo systemctl enable mysql

5️⃣ 安全配置 MySQL(推荐)

使用安全配置向导加固数据库环境:

sudo mysql_secure_installation

建议的配置选项如下:

  • 设置 root 密码(如果之前未设置)
  • 移除匿名用户
  • 禁止 root 远程登录(根据需求选择)
  • 删除测试数据库
  • 重新加载权限表

示例推荐配置:

  • VALIDATE PASSWORD:可选 n
  • 修改 root 密码:可选 n(若已设定)
  • 移除匿名用户:y
  • 禁止 root 远程登录:n(视需求)
  • 删除测试数据库:y
  • 重新加载权限表:y

6️⃣ 登录 MySQL

  • 密码方式登录:
mysql -u root -p
  • Socket 认证登录(无密码,需 sudo 权限):
sudo mysql

7️⃣ 配置远程访问

默认 MySQL 只允许本地连接,如需远程访问,需要修改配置并创建远程访问用户。

修改监听地址

编辑 MySQL 配置文件:

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

找到以下内容:

bind-address = 127.0.0.1

修改为:

bind-address = 0.0.0.0

保存并重启服务:

sudo systemctl restart mysql

创建远程用户(推荐)

登录 MySQL 创建用户并授权:

CREATE USER 'admin'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

8️⃣ 常用路径

  • 配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf
  • 数据目录:/var/lib/mysql
  • 日志文件:/var/log/mysql/error.log

9️⃣ 卸载 MySQL(如需要)

执行以下命令完全卸载 MySQL 及相关文件:

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean

以上步骤将帮助你在 Ubuntu 22.04 上快速、安全地完成 MySQL 8 的安装与配置,并进行远程访问配置和安全加固,以适合生产环境使用。

🔗 参考链接

  • MySQL 官方文档
  • MySQL 安装指南

在这里插入图片描述

http://www.xdnf.cn/news/10723.html

相关文章:

  • 【论文解读】ReAct:从思考脱离行动, 到行动反馈思考
  • winrm登录失败,指定的凭据被服务器拒绝
  • Bash shell四则运算
  • 【Elasticsearch】search_after不支持随机到哪一页,只能用于上一页或下一页的场景
  • 涨薪技术|0到1学会性能测试第95课-全链路脚本开发实例
  • https(SSL)证书危机和可行的解决方案
  • 香橙派3B学习笔记6:基本的Bash脚本学习_UTF-8格式问题
  • QT常用控件(1)
  • SpringBoot接入Kimi实践记录轻松上手
  • 鸿蒙简易版影视APP案例实战
  • Attention Is All You Need (Transformer) 以及Transformer pytorch实现
  • 软件评测师 综合测试 真题笔记
  • 基于Python学习《Head First设计模式》第五章 单件模式
  • MySQL 灾备方案介绍
  • 模拟电子技术 第一章<半导体基础>
  • OpenCV 滑动条调整图像对比度和亮度
  • 嵌入式SDK技术EasyRTC音视频实时通话助力即时通信社交/教育等多场景创新应用
  • 攻防世界-unseping
  • GPR全波形反演中三种初始模型建立方法详解
  • 【嵌入式(2)深入剖析嵌入式开发:从基础到实战】
  • vue3学习
  • 大数据-277 Spark MLib - 基础介绍 机器学习算法 Gradient Boosting GBDT算法原理 高效实现
  • 简单transformer运用
  • 学习NuxtLink标签
  • dvwa6——Insecure CAPTCHA
  • Lovable + Cursor:零基础搭建专业应用的秘密武器
  • Windows下WSL(Ubuntu)安装1Panel
  • ASR技术(自动语音识别)深度解析
  • Eigen实现非线性最小二乘拟合 + Gauss-Newton算法
  • RabbitMQ如何保证消息可靠性