Ubuntu 24.04 安装 MariaDB 后 root 密码未知?解决方案在此

在 Ubuntu 24.04 上新安装 MariaDB 后,许多用户会发现自己不知道 root 用户的密码,甚至在安装过程中也没有提示设置密码。这是因为在较新的 MariaDB 版本中,默认情况下 root 用户采用了 unix_socket 身份验证插件。这意味着您可以使用操作系统的 root 用户权限直接登录 MariaDB,而无需输入密码。

本文将为您详细解释如何解决这个问题,并为您提供设置新密码的多种方法。

方法一:使用 mysql_secure_installation 脚本 (推荐)

这是最推荐、最安全且最简单的方法。mysql_secure_installation 是一个随 MariaDB 一同安装的脚本,旨在帮助用户进行基本的安全设置,包括设置 root 密码。

步骤如下:

  1. 以 root 用户权限运行脚本:

    打开终端,输入以下命令:

    sudo mysql_secure_installation
  2. 切换到密码验证:

    脚本会首先询问您是否想切换到 unix_socket 身份验证之外的方式。为了能使用密码登录,请输入 Y 并按回车。

  3. 设置新密码:

    接下来,系统会提示您为 MariaDB 的 root 用户设置新密码。输入您想要设置的强密码并再次输入以确认。

  4. 完成安全设置:

    脚本还会询问您是否要移除匿名用户、禁止 root 用户远程登录、移除测试数据库等。出于安全考虑,建议对这些选项都选择 Y (是)。

完成以上步骤后,您的 MariaDB root 用户就已经设置了新密码。您现在可以使用以下命令通过密码登录:

sudo mysql -u root -p

然后输入您刚刚设置的密码即可。

方法二:手动更改 root 用户密码

如果您不想运行 mysql_secure_installation 脚本,也可以手动更改 root 用户的密码。

步骤如下:

  1. 以 root 权限登录 MariaDB:

    由于默认使用 unix_socket 认证,您可以直接使用 sudo 命令免密登录。

    sudo mysql -u root
  2. 更改 root 用户的认证方式和密码:

    进入 MariaDB 命令行后,执行以下 SQL 语句来更改 root 用户的认证插件为 mysql_native_password 并设置新密码。请将 YourStrongPasswordHere 替换为您自己的强密码。

    ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('YourStrongPasswordHere');
  3. 刷新权限:

    为了使更改立即生效,需要刷新权限。

    FLUSH PRIVILEGES;
  4. 退出并测试:

    输入 EXIT; 退出 MariaDB 命令行。现在,您应该可以使用新设置的密码登录了。

    sudo mysql -u root -p

方法三:当无法登录时重置 root 密码

在极少数情况下,如果您已经更改了密码但忘记了,或者上述方法因某种原因无法奏效,您可以通过以下步骤重置 root 密码。

步骤如下:

  1. 停止 MariaDB 服务:

    sudo systemctl stop mariadb
  2. 以安全模式启动 MariaDB (跳过授权表):

    sudo mysqld_safe --skip-grant-tables &

    此命令会在后台以不检查权限的方式启动 MariaDB。

  3. 免密登录 MariaDB:

    sudo mysql -u root
  4. 重置密码:

    进入 MariaDB 命令行后,执行以下命令来设置新密码。同样,请将 YourNewStrongPasswordHere 替换为您自己的强密码。

    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPasswordHere';
  5. 正常重启 MariaDB:

    首先,停止以安全模式运行的 MariaDB 进程。您可能需要使用 kill 命令。

    sudo killall mysqld_safe
    sudo killall mysqld

    然后,正常启动 MariaDB 服务。

    sudo systemctl start mariadb

现在,您应该可以使用新重置的密码登录 MariaDB 了。

总结

对于 Ubuntu 24.04 上新安装的 MariaDB,root 用户默认使用 unix_socket 认证,允许通过 sudo 免密登录。通过 mysql_secure_installation 脚本设置密码是最推荐的方法。如果需要,也可以手动更改或在忘记密码时进行重置。我们强烈建议您为 root 用户设置一个强密码以保障数据库的安全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/916670.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/916670.shtml
英文地址,请注明出处:http://en.pswp.cn/news/916670.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cloudflare CDN 中设置地域限制并返回特定界面

文章目录 什么是CDN 什么是Cloudflare 注册Cloudflare 账号,添加域名、修改DNS并激活邮箱 阻止或允许特定国家或地区访问 常见规则表达式 WAF自定义规则 + 自定义错误页面 使用Workers脚本 什么是CDN CDN 是一种优化网站请求处理的机制。它是在用户访问网站 (服务器) 时用户与…

Ubuntu高频实用命令大全

Ubuntu系统中高频实用命令 以下为Ubuntu系统中高频实用命令的分类整理,涵盖系统管理、文件操作、网络配置等场景,每个命令附带简要说明: 系统信息与管理 uname -a 显示系统内核版本、主机名等详细信息。 lsb_release -a 查看Ubuntu发行版版本信息。 uptime 显示系统运行时…

关于C#的编程基础:数据类型与变量全解析

一.基本的数据类型 1.什么是数据类型 在编程语言中,数据类型(Data Type) 是对变量存储的 “数据的种类” 的定义,它决定了: 变量可以存储哪些值(例如整数、文本、布尔值)。这些值在内存中如何…

深入解析 Spring 获取 XML 验证模式的过程

关键要点Spring 的 XML 验证模式:Spring 框架在加载 XML 配置文件时,会根据文件内容判断使用 DTD(文档类型定义)或 XSD(XML 模式定义)进行验证。自动检测机制:Spring 默认使用自动检测&#xff…

复现《Local GDP Estimates Around the World》论文的完整指南

复现《Local GDP Estimates Around the World》论文的完整指南 1. 引言 1.1 论文概述 《Local GDP Estimates Around the World》是一篇重要的经济地理学研究论文,作者提出了一种创新的方法来估计全球范围内次国家层面的GDP数据。这项工作填补了全球经济发展研究中子…

Sql注入 之sqlmap使用教程

一、安装sqlmap 浏览器访问SQLmap官网 即可下载工具;需要说明的是,SQLmap运行依赖于python环境,所以在下载使用前务必在电脑及终端上安装好python环境。 通过网盘分享的文件:sqlmap-master.zip链接: https://pan.baidu.com/s/1YZi…

安宝特案例丨户外通信机房施工革新:AR+作业流技术破解行业难题

在数字化浪潮席卷各行各业的今天,传统户外通信机房建设领域正经历一场静悄悄的变革。作为信息社会的“神经枢纽”,户外机房的质量直接关系到通信网络的稳定性,但长期以来,这一领域却深受施工标准化不足、质量管控难、验收追溯复杂…

在 CentOS 中安装 MySQL 的过程与问题解决方案

MySQL 是一款广泛使用的开源关系型数据库管理系统,在 CentOS 系统中安装 MySQL 是很多开发者和运维人员常做的工作。下面将详细介绍安装过程以及可能遇到的问题和解决方案。 一、安装前的准备工作 在安装 MySQL 之前,需要做好一些准备工作,…

阿里 Qwen3 四模型齐发,字节 Coze 全面开源,GPT-5 8 月初发布!| AI Weekly 7.21-7.27

📢本周AI快讯 | 1分钟速览🚀1️⃣ 🧠 阿里 Qwen3 全系列爆发 :一周内密集发布四款新模型,包括 Qwen3-235B-A22B-Thinking-2507、Qwen3-Coder 和 Qwen3-MT,MMLU-Pro 成绩超越 Claude Opus 4,百万…

C语言第 9 天学习笔记:数组(二维数组与字符数组)

C语言第09天学习笔记:数组(二维数组与字符数组) 内容提要 数组 二维数组字符数组二维数组 定义 二维数组本质上是一个行列式组合,由行和列两部分组成,属于多维数组,通过行和列解读(先行后列&…

使用OpenCV做个图片校正工具

昨天有位兄台给我发了个文件,是下面这个样子的:那一双小脚既没有裹成三寸金莲,又没有黑丝,这图片肯定不符合我的要求。我要的是这个样子的好不好:让他拿扫描仪重新给我规规矩矩扫一个发过来?他要能用扫描仪…

《不只是接口:GraphQL与RESTful的本质差异》

RESTful API凭借其与HTTP协议的天然融合,以资源为核心的架构理念,在过去十余年里构建了Web数据交互的基本秩序;而GraphQL的出现,以“按需获取”为核心的查询模式,打破了传统的请求-响应逻辑,重新定义了前端…

博士招生 | 香港大学 招收人工智能和网络安全方向 博士生

学校简介香港大学创立于 1911 年,是香港历史最悠久的高等学府,QS 2025 世界排名第 17 位。计算机科学学科在 QS 2025 学科排名中位列全球第 31 位、亚洲第 5 位。计算机系(Department of Computer Science)下设系统、人工智能、数…

Linux知识回顾总结----基础IO

目录 1. 理解“文件” 1.1 文件的定义 2. 回顾 C 语言的文件操作 2.1 文件操作 2.2 实现cat 2.3 可以实现打印的几种方式 3. 系统文件的IO 3.2 使用系统的接口 3.3 内部的实现 3.4 重定向 4. 文件系统的内核结构 5. 缓冲区 5.1 是什么 5.2 为什么 5.3 有什么 5.4 见见…

网络:基础概念

网络:基础概念 在计算机发展过程中,最开始每个计算机时相互独立的,后来人们需要用计算机合作处理任务,这就牵扯到了数据交换,所以最开始的网络就诞生了。一开始,网络都是局域网LAN,后来技术成熟…

图像识别边缘算法

文章目录1. 基本概念2. 边缘检测原理边缘类型:3. 常见边缘检测算法3.1 Sobel算子3.2 Canny边缘检测3.3 Laplacian算子4. Canny边缘检测详细流程流程图示例:详细步骤说明:5. 边缘检测算法比较6. 参数调优建议Canny边缘检测参数:Sob…

【Java Web实战】从零到一打造企业级网上购书网站系统 | 完整开发实录(终)

🧪 测试与质量保证 🔍 全方位测试体系 我建立了企业级的全方位测试体系来确保系统质量: 🧪 测试金字塔模型 #mermaid-svg-u4I8UuUAyxJVjcqs {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill…

QT开发---网络编程下

HTTP协议 HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的协议之一,用于客户端和服务器之间的通信。默认端口80,传输层使用的是TCP协议特点无连接:HTTP协议是无连接的&#xff…

mac 苹果电脑 Intel 芯片(Mac X86) 安卓虚拟机 Android模拟器 的救命稻草(下载安装指南)

引言: 还在为你的Intel芯片MacBook(i5, i7, i9等)找不到合适的安卓虚拟机而发愁吗?随着Apple Silicon (M1/M2/M3) 芯片的普及,大量优秀的安卓模拟器(如Android Studio自带的模拟器、网易MuMu等)…

C语言:顺序表(上)

C语言:顺序表(上) 1.顺序表的介绍 2.顺序表的实现 1.顺序表的介绍 线性表是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串… 线性表在…