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

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 安装指南

在这里插入图片描述

相关文章:

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

MySQL 8 完整安装指南(Ubuntu 22.04) 本教程详细说明如何在 Ubuntu 22.04 上安装和配置 MySQL 8,包含安全优化及远程访问设置。 1️⃣ 添加 MySQL 官方 APT 仓库 官网仓库下载地址:MySQL APT 仓库下载页 下载仓库配置包&#…...

C++ 标准输入输出 -- <iostream>

<iostream>库是 C++ 标准库中用于输入输出操作的头文件。 <iostream> 定义了几个常用的流类和操作符,允许程序与标准输入输出设备(如键盘和屏幕)进行交互。 以下是<iostream>库的详细使用说明,包括其主要类和常见用法示例。 主要类 std::istream:用于…...

记一次sql按经纬度计算距离

具体代码&#xff1a; ROUND函数在mysql可以用来计算经纬度&#xff0c;代码如下&#xff1a; SELECTa.store_name_sfa as storeName,a.storeid_sfa as store_id,a.link_man_sfa as link_man,a.link_phon_sfa as link_phone,a.photo as image_url,a.district,a.street,ROUND(6…...

安卓jetpack compose学习笔记-UI基础学习

哲学知识应该用哲学的方式学习&#xff0c;技术知识也应该用技术的方式学习。没必要用哲学的态度来学习技术。 学完安卓技术能做事就ok了&#xff0c;安卓技术肯定是有哲学的&#xff0c;但是在初学阶段没必要讨论什么安卓哲学。 学习一们复杂技术的路径有很多&#xff0c;这里…...

线性回归用于分类

线性回归本身是一种用于回归问题的技术&#xff0c;即预测一个连续的目标变量值。然而&#xff0c;线性回归也可以被改造或结合其他技术来用于分类问题&#xff0c;尽管这不是其最直接或最常见的用途。以下是几种将线性回归应用于分类问题的方法或相关概念&#xff1a; 阈值划分…...

解锁电商新势能:商城系统自动 SaaS 多开功能深度解析

在电商行业加速向精细化、多元化运营转型的当下&#xff0c;传统的商城系统部署模式已难以满足企业快速拓展业务的需求。此时&#xff0c;商城系统自动 SaaS 多开功能横空出世&#xff0c;以智能、高效、灵活的特性&#xff0c;成为众多电商企业突破发展瓶颈的关键利器。这一功…...

蓝桥杯_DS18B20温度传感器---新手入门级别超级详细解析

目录 一、引言 DS18B20的原理图 单总线简介&#xff1a; ​编辑暂存器简介&#xff1a; DS18B20的温度转换与读取流程 二、代码配置 maic文件 疑问 关于不同格式化输出符号的使用 为什么要rd_temperature()/16.0&#xff1f; onewire.h文件 这个配置为什么要先读lo…...

C++中锁与原子操作的区别及取舍策略

文章目录 锁与原子操作的基本概念锁&#xff08;Lock&#xff09;原子操作&#xff08;Atomic Operations&#xff09; 锁与原子操作的区别1. **功能**2. **性能**3. **复杂性**4. **适用场景** 锁与原子操作的取舍策略1. **简单变量操作**2. **复杂共享资源**3. **性能敏感场景…...

ESP32对接巴法云实现配网

目录 序言准备工作巴法云注册与使用Arduino准备 开发开始配网 序言 本文部分内容摘抄原创作者巴法云-做优秀的物联网平台 代码有部分修改并测试运行正常 巴法云支持免费用户通过开发对接实现各智能音箱设备语音控制智能家居设备&#xff0c;并有自己的App进行配网和控制&…...

《深度剖析:基于Meta的GameFormer构建自博弈AI游戏代理》

自博弈AI游戏代理&#xff0c;是一种具备自主学习和自我提升能力的人工智能系统。它打破了传统AI依赖预设规则和固定策略的局限&#xff0c;能够在游戏过程中不断与自身进行对战&#xff0c;通过反复博弈来积累经验、优化策略&#xff0c;从而实现智能水平的持续提升 。这种独特…...

C++语法系列之类型转换

前言 类型转换是经常存在的情况&#xff0c;类型转换分为隐式类型转化 和 显式类型转化 隐式类型转化&#xff1a;编译器在编译阶段自动进行&#xff0c;能转就转&#xff0c;不能转就编译失败 double i 3.3; int b i; //隐式类型转化 double -> intC搞出来了四种强制类…...

Qwen3 技术报告解读一

&#x1f4d8; Qwen3 技术报告解读&#xff1a;通义千问系列新成员的技术亮点与能力分析 一、论文写了什么&#xff1f; 本文来自阿里通义实验室发布的 《Qwen3 Technical Report》&#xff0c;介绍了其最新一代大语言模型 Qwen3 的技术架构、训练方法以及在多个关键任务上的…...

详解开漏输出和推挽输出

开漏输出和推挽输出 以上是 GPIO 配置为输出时的内部示意图&#xff0c;我们要关注的其实就是这两个 MOS 管的开关状态&#xff0c;可以组合出四种状态&#xff1a; 两个 MOS 管都关闭时&#xff0c;输出处于一个浮空状态&#xff0c;此时他对其他点的电阻是无穷大的&#xff…...

【八股消消乐】索引失效与优化方法总结

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;本专栏《八股消消乐》旨在记录个人所背的八股文&#xff0c;包括Java/Go开发、Vue开发、系统架构、大模型开发、具身智能、机器学习、深度学习、力扣算法等相关知识点&#xff…...

一步一步配置 Ubuntu Server 的 NodeJS 服务器详细实录——4. 配置服务器终端环境 zsh , oh my zsh, vim

前言 通过前面几篇文章&#xff0c;我们顺利的 安装了 ubuntu server 服务器&#xff0c;并且配置好了 ssh 免密登录服务器&#xff0c;也安装好了 服务器常用软件安装,接下来&#xff0c;我们要仔细的配置一下我们的终端环境&#xff0c;让服务器的终端更加好用。 一般情况下…...

数据安全合规体系构建的“三道防线“

引言 "三道防线"模型架构图 #mermaid-svg-wbeppAbwa3Vb3nL2 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-wbeppAbwa3Vb3nL2 .error-icon{fill:#552222;}#mermaid-svg-wbeppAbwa3Vb3nL2 .error-text{fi…...

【Spring底层分析】Spring AOP基本使用+万字底层源码阅读分析

一、AOP基本使用 三步&#xff1a; 将业务逻辑组件和切面类都加入到容器中&#xff0c;告诉Spring哪个是切面类&#xff08;Aspect&#xff09;在切面类上的每一个通知方法上标注通知注解&#xff0c;告诉Spring何时&#xff08;Before、After、Around……&#xff09;何地运…...

Python数据分析及可视化中常用的6个库及函数(二)

Python数据分析及可视化中常用的6个库及函数(二) 摘要:以下是Python数据分析及可视化常用的6个库的详细介绍,包括它们的概述以及每个库中最常用的10个函数(如果某些库常用函数不足10个,则列出所有常用函数)。每个函数都附带功能描述、用法说明和使用示例。这些库…...

新德通科技:以创新驱动光通信一体化发展,赋能全球智能互联

在数字经济与AI技术高速发展的今天&#xff0c;光通信作为信息传输的核心基础设施&#xff0c;正迎来前所未有的升级浪潮。深圳新德通科技有限公司&#xff08;以下简称“新德通科技”&#xff09;凭借其深厚的技术积累与一体化产品布局&#xff0c;成为行业内的中坚力量。本文…...

Selenium的底层原理

Selenium 底层主要依赖于 WebDriver 协议&#xff08;即 W3C WebDriver 规范&#xff0c;早期也有 JSON Wire Protocol&#xff09;来实现对浏览器的远程控制&#xff0c;其核心架构可以分为以下几层&#xff1a; Selenium 客户端&#xff08;Client Library&#xff09; 支持多…...

PostgreSQL的扩展 auth_delay

PostgreSQL的扩展 auth_delay auth_delay 是 PostgreSQL 提供的一个安全相关扩展&#xff0c;主要用于防止暴力破解攻击。它通过在认证失败后引入人为延迟来增加暴力破解的难度。 一、扩展基础 功能&#xff1a;在认证失败后增加延迟目的&#xff1a;减缓暴力破解和字典攻击…...

[Java 基础]Java 是什么

Java 是一门编程语言。 查看编程语言热门排行&#xff1a;https://www.tiobe.com/tiobe-index/ Java 的特点&#xff1a; 面向对象&#xff1a;Java 是面向对象的语言&#xff0c;支持封装、继承和多态等特性。 平台无关性&#xff1a;Java 通过“一次编写&#xff0c;到处…...

Qt学习2

跟学视频 1.菜单栏和工具栏 //菜单栏最多只能有一个//菜单栏创建QMenuBar * bar menuBar();//将菜单栏放到窗口中setMenuBar(bar);//创建菜单QMenu * fileMenu bar->addMenu("开始");QMenu * editMenu bar->addMenu("编辑");//创建菜单项QAction…...

C++ 内存泄漏检测器设计

文章目录 1. C中的动态内存分配2. 什么是内存泄漏3. 内存泄漏的代码案例4. 内存泄漏检查器的设计模块1&#xff1a;位置信息捕获&#xff1a;模块2&#xff1a;内存分配跟踪&#xff1a;模块3&#xff1a;内存释放跟踪&#xff1a;模块4&#xff1a;泄漏记录存储&#xff1a;模…...

在 Linux 上安装 Nmap 工具

&#x1f4e6; 在 Linux 上安装 Nmap 工具指南 Nmap&#xff08;Network Mapper&#xff09;是功能强大的网络扫描工具&#xff0c;以下是各种 Linux 发行版的安装方法&#xff1a; &#x1f9e9; 通用安装方法 1. 使用包管理器安装&#xff08;推荐&#xff09; # Debian/…...

从零打造AI面试系统全栈开发

&#x1f916; AI面试系统开发完整教程 &#x1f4cb; 项目概述 本教程将带你从零开始构建一个完整的AI面试系统&#xff0c;包含前端、后端、AI集成和部署的全流程。 源码地址 技术栈 前端: React TypeScript Vite Vaadin Components后端: Spring Boot Spring Securi…...

破局与进阶:ueBIM 在国产 BIM 赛道的差距认知与创新实践

作为国产BIM领域的探索者&#xff0c;斯维尔ueBIM自诞生以来始终以追赶国际头部技术为目标&#xff0c;但不可否认的是&#xff0c;在核心功能覆盖、行业生态成熟度以及全球市场占有率等方面&#xff0c;我们与Autodesk Revit、Bentley Systems等国际巨头仍存在显著差距。这种差…...

分布式流处理与消息传递——向量时钟 (Vector Clocks) 算法详解

Java 实现向量时钟 (Vector Clocks) 算法详解 一、向量时钟核心原理 #mermaid-svg-JcZ1GT0r1ZNSy6W7 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-JcZ1GT0r1ZNSy6W7 .error-icon{fill:#552222;}#mermaid-svg-JcZ…...

20250603在荣品的PRO-RK3566开发板的Android13下的命令行查看RK3566的温度

20250603在荣品的PRO-RK3566开发板的Android13下的命令行查看RK3566的温度 2025/6/3 11:58 RK3566的cpu运行效率 top rk3566_t:/ # rk3566_t:/ # rk3566_t:/ # cd /sys/class/thermal/ rk3566_t:/sys/class/thermal # ls -l rk3566_t:/sys/class/thermal # cd thermal_zone0/ r…...

帝可得 - 设备管理

一. 需求说明 设备管理主要涉及到三个功能模块&#xff0c;业务流程如下&#xff1a; 新增设备类型: 允许管理员定义新的售货机型号&#xff0c;包括其规格和容量。 新增设备: 在新的设备类型定义后&#xff0c;系统应允许添加新的售货机实例&#xff0c;并将它们分配到特定的…...