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

macOS下重置MySQL密码遇SQL语法错误ERROR 1064如何解决?

解决MySQL重置root密码时的1064语法错误

错误根源

你执行的UPDATE语句中,密码字段的赋值语法与当前MySQL版本不匹配。不同版本的MySQL对用户密码存储的字段名、加密方式要求不同,这是导致语法报错的核心原因。

针对性修复方案

适用于MySQL 8.0及以上版本

MySQL 8.0+已废弃PASSWORD()加密函数,用户表的密码存储字段改为authentication_string,且官方推荐使用ALTER USER语句替代UPDATE操作,更安全可靠:

  1. 保持MySQL安全模式的登录状态
  2. 执行以下命令重置密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '2402';
FLUSH PRIVILEGES;

如果执行ALTER USER时提示用户不存在,先清空旧密码字段再重试:

UPDATE mysql.user SET authentication_string = '' WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

之后再次执行ALTER USER语句即可。

适用于MySQL 5.7及更早版本

旧版本使用Password字段存储密码,且需要通过PASSWORD()函数加密明文密码,正确的UPDATE语句为:

UPDATE mysql.user SET Password = PASSWORD('2402') WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

验证操作

  1. 退出MySQL命令行,重启MySQL服务
  2. 使用新密码登录验证:
mysql -u root -p

输入密码2402,若成功登录则说明重置生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 02:33:25