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

Ubuntu24安装MariaDB/MySQL后不知道root密码如何解决

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.lryc.cn/news/602937.html

相关文章:

  • 基于STM32设计的智慧果园云监测系统_256
  • 基于Uniapp及Spring Boot的奢侈品二手交易平台的设计与实现/基于微信小程序的二手交易系统
  • linux安装zsh,oh-my-zsh,配置zsh主题及插件的方法
  • 机器学习基础-numpy
  • OpenMP 并行编程核心机制详解:从变量作用域到同步优化
  • SwinTransformer改进(14):集成MLCA注意力机制的Swin Transformer模型
  • Linux DNS解析2 -- 网关DNS代理的作用
  • 如何实现安卓端与苹果端互通的多种方案
  • unisS5800XP-G交换机配置命令之端口篇
  • 【安卓笔记】OOM与内存优化
  • React Router v6 核心组件
  • Linux进程概念(五)进程地址空间
  • 吃透 lambda 表达式(匿名函数)
  • 关闭 UniGetUI 自动 Pip 更新,有效避免 Anaconda 环境冲突教程
  • 3.DRF视图和路由
  • sqlite3学习---基础知识、增删改查和排序和限制、打开执行关闭函数
  • SpringBoot数学实例:高等数学实战
  • (二)Eshop(RabbitMQ手动)
  • 【计算机网络】OSI七层模型
  • Qt项目中使用 FieldManager 实现多进程间的字段数据管理
  • EXCEL怎么使用数据透视表批量生成工作表
  • 十七、K8s 可观测性:全链路追踪
  • django 按照外键排序
  • 未授权访问
  • 项目如何按时交付?重点关注的几点
  • 进程间通信————system V 共享内存
  • Python day27
  • 在rsync + inotify方案中,如何解决海量小文件同步效率问题?
  • 从视觉到智能:RTSP|RTMP推拉流模块如何助力“边缘AI系统”的闭环协同?
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘nbconvert’问题