ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘

ERROR 1698 (28000): Access denied for user 'root'@'localhost' 错误通常发生在使用 UNIX socket 认证的 MySQL 上,这意味着 MySQL 尝试使用系统用户认证而不是传统的用户名和密码认证。

以下是几种解决此问题的方法:

方法 1: 使用 sudo 登录 MySQL

如果 MySQL 使用 UNIX socket 认证,你可以通过 sudo 提升权限登录 MySQL:

bash 复制代码
sudo mysql -u root

方法 2: 修改 root 用户的认证方式

如果希望使用密码认证而不是 UNIX socket 认证,可以按照以下步骤修改 root 用户的认证方式:

  1. 使用 sudo 登录 MySQL

    bash 复制代码
    sudo mysql -u root
  2. 切换到 mysql 数据库

    sql 复制代码
    USE mysql;
  3. 修改 root 用户的认证方式

    sql 复制代码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
  4. 刷新权限

    sql 复制代码
    FLUSH PRIVILEGES;
  5. 退出 MySQL

    sql 复制代码
    EXIT;

现在,你应该能够使用密码登录 MySQL:

bash 复制代码
mysql -u root -p

方法 3: 重置 root 用户的密码

如果你仍然无法访问 MySQL,可能需要重置 root 用户的密码:

  1. 停止 MySQL 服务

    bash 复制代码
    sudo systemctl stop mysql
  2. 以跳过权限表的模式启动 MySQL

    bash 复制代码
    sudo mysqld_safe --skip-grant-tables &
  3. 登录 MySQL

    bash 复制代码
    mysql -u root
  4. 重置 root 用户的密码

    sql 复制代码
    FLUSH PRIVILEGES;
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  5. 退出 MySQL

    sql 复制代码
    EXIT;
  6. 停止 MySQL 安全模式

    bash 复制代码
    sudo mysqladmin -u root -p shutdown
  7. 重新启动 MySQL 服务

    bash 复制代码
    sudo systemctl start mysql

现在,你应该能够使用新密码登录 MySQL:

bash 复制代码
mysql -u root -p
相关推荐
HinsCoder17 小时前
【技能拾遗】——手机远程控制方案(中继服务器版)
服务器·阿里云·adb·智能手机·远程控制·wireguard
Coding_Doggy19 小时前
重装系统C盘格式化,MYSQL恢复
c语言·mysql·adb
BatyTao20 小时前
vivo真机adb 命令获取手机当前窗口信息
adb·appium
soft20015252 天前
《Rocky Linux 9.6 部署 MySQL 8.0 生产手册(含错误处理)》
linux·mysql·adb
小吴学不废Java2 天前
MySQL慢查询日志分析
android·adb
limingade2 天前
技术预研-app如何通过手机开发者选项-无线调试来使用adb-shell功能
adb·智能手机·手机无线调试adb·手机adb抓取屏幕画面·无线调试抓屏·无线调试与手机adb命令
技术小甜甜2 天前
[Godot] 在 Godot 3.1 中配置 ADB 可执行文件的实用指南
游戏·adb·游戏引擎·godot
fatiaozhang95272 天前
中国移动中兴云电脑W132D-RK3528-2+32G_安卓9_ADB开启线刷包
android·adb·电脑·电视盒子·刷机固件·机顶盒刷机·中兴云电脑w132d
brave_zhao2 天前
达梦数据库(DM8)支持全文索引功能,但并不直接兼容 MySQL 的 FULLTEXT 索引语法
android·adb
soft20015253 天前
MySQL 8.0.39 Rocky Linux 一键安装脚本(完整可直接运行)
linux·mysql·adb