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

尝试在MariaDB中修改为使用MySQL插件时遇ERROR 1356错误求助

解决MariaDB中UPDATE mysql.user报错1356的问题

错误原因

在MariaDB 10.4及更高版本中,mysql.user不再是物理表,而是一个视图,直接对视图执行UPDATE操作会触发权限或引用无效的错误——因为视图依赖的底层表结构已发生变化,无法直接通过UPDATE视图修改用户认证信息。

正确操作方法

方法1:使用ALTER USER命令(官方推荐)

这是修改用户认证插件的标准方式,无需直接操作系统表,更安全可靠:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;

如果不需要修改密码,仅更换认证插件,可简化为:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password;
FLUSH PRIVILEGES;

方法2:更新底层系统表(仅ALTER USER不可用时使用)

MariaDB的用户认证信息实际存储在mysql.global_priv表中,可通过修改该表实现变更:

UPDATE mysql.global_priv SET priv=JSON_SET(priv, '$.plugin', 'mysql_native_password') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

注意事项

  • 执行操作的账号必须拥有足够权限(如root账号)
  • 所有修改完成后必须执行FLUSH PRIVILEGES;使权限变更立即生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 12:36:32