You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装MySQL后root用户连接localhost:3306报错1698无法登录求助

MySQL ERROR 1698 (28000) 问题解决指南

根因定位

  • 首先排除路由器封禁端口的可能:本地连接localhost走的是回环网卡,流量不会经过路由器,该场景完全不影响本地登录
  • root用户无需额外创建,是MySQL安装完成后默认内置的管理员账号,你提到的未执行CREATE USER的操作不是故障诱因
  • 99%以上的该类报错是因为Debian/Ubuntu系系统安装的MySQL默认对root@localhost用户启用auth_socket身份验证插件,而非密码验证模式,因此即便安装时设置了密码,用密码登录也会被拒绝
  • 额外注意你执行的登录命令存在语法错误:小写-p是密码参数,指定端口需要用大写-P,你多写了一个-p参数,正确的端口指定命令为mysql -u root -p -h localhost -P 3306

修复步骤

  1. 停止正常运行的MySQL服务
    systemctl stop mysql
  2. 以跳过权限验证、禁用网络的模式启动MySQL,避免其他用户远程登录
    mysqld_safe --skip-grant-tables --skip-networking &
  3. 无密码直接登录MySQL命令行
    mysql
  4. 加载权限表后修改root用户的验证规则,将下方自定义root密码替换为你要设置的登录密码
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '自定义root密码';
FLUSH PRIVILEGES;
exit
  1. 杀死跳过权限模式的MySQL进程,重启正常服务
killall mysqld_safe
systemctl start mysql
  1. 验证登录
    mysql -u root -p
    输入你设置的密码即可正常登录

内容的提问来源于stack exchange,提问作者bobthebuilder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:06:03