MySQL 8.0 ERROR 1410: 不允许通过 GRANT 创建用户及权限配置详解

许南星
许南星
发布时间:2026-10-15| 5人浏览过
原创

在 MySQL 8.0 环境中执行 GRANT 授权操作时,若试图直接为不存在的用户分配权限,系统会抛出 ERROR 1410 (42000): You are not allowed to create a user with GRANT 错误。该版本的数据库出于安全考量,强制要求先独立创建用户账户,再进行权限赋予。

理解 ERROR 1410 的产生原因

在较旧版本的 MySQL 中,管理员可以直接使用如下命令一步完成用户创建与授权:
GRANT ALL PRIVILEGES ON test.* TO 'test'@'%';

但在 MySQL 8.0+ 版本中,这一机制被更改。如果指定的用户(如本例中的 'test'@'%')在系统中不存在,数据库将拒绝执行该操作,以防止未授权的账户凭空生成。
当执行上述命令时,您将看到典型的报错信息:

部分用户可能还会发现,即使修改了主机的访问限制(如更新 user 表),再次尝试 Grant 依然报错,这正是由于“先建用户,再授权”的逻辑尚未遵循所致。

第1步:使用标准流程创建用户并赋权

要解决此问题,必须严格按照两步走策略操作:首先显式创建用户,然后再授予所需权限。

第1步:创建新用户账户

进入 MySQL 命令行客户端,执行 CREATE USER 语句指定用户名、主机位及初始密码。虽然此步骤不涉及 1410 错误,但这是后续授权的前提。

第2步:为用户分配具体权限

用户创建成功后,即可顺利执行 GRANT 命令。例如,授予特定用户对某个数据库的所有权限:

GRANT ALL PRIVILEGES ON test.* TO 'test'@'%';

执行结果应显示成功且无任何阻碍:

第2步:解决 Navicat 等工具的连接报错

部分用户在完成上述操作后,使用 Navicat 或其他 GUI 工具连接数据库时,可能会出现身份验证失败或协议不匹配的错误。这通常是因为 MySQL 8 默认的密码验证插件(caching_sha2_password)与旧版客户端或特定工具存在兼容性差异。

操作步骤:修改密码加密方式

为了兼顾安全性与广泛兼容性,可以将该用户的认证方式修改为传统的 mysql_native_password(针对特定老旧工具场景)或直接保持默认现代加密。以下是调整加密方式的常用命令:

ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';

执行后刷新权限或直接连接测试:

总结

面对 MySQL 8 的 ERROR 1410,核心思路是分离“创建”与“授权”两个动作。只要确保账户已存在再运行 Grant 语句,配合适当的密码加密设置,即可顺利完成环境配置。以上就是关于如何解决 MySQL 8.0 ERROR 1410 报错及用户权限配置的详细内容,更多关于 MySQL 权限管理及常见错误的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。