mysql - 为什么 SQL 禁止执行 SELECT 查询?

标签 mysql sql

我尝试在 phpmyadmin 中执行查询并得到错误:

#1142 - SELECT command denied to user 'cpses_tkdpmnyjWW'@'localhost' for table 'user'

因此,用户 cpses_tkdpmnyjWW'@'localhost 是动态创建的,我无法为此用户设置权限。 如何解决这个问题?

最佳答案

使用SHOW GRANTS显示您当前的用户权限。听起来好像输出可能类似于:

GRANT USAGE ON *.* TO 'Unnamed'@'localhost'

这意味着该帐户可以登录服务器,但别无他法。 This page给出了更详细的分割,因为您会看到有很多排列。

解决方案是您需要找到一个具有更多权限的帐户或创建/更新一个帐户。

如果以上都不是一个选项,我可以尝试的一个快速技巧是连接到“127.0.0.1”而不是“localhost”。在 MySQL 中,连接源可以构成用户名的一部分,因此如果您使用的是 Unix 风格的操作系统,则可以通过 IP 而不是套接字进行连接。

此外,如果您对服务器具有管理员/root 访问权限,则可以在 MySQL 启动时创建用户,这在某些情况下非常有用。

关于mysql - 为什么 SQL 禁止执行 SELECT 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32809922/

相关文章:

php 计数分组值

php - 我生成的 PDF 中的奇怪字符

sql - 一个查询而不是四个 - 这可能吗?

sql - 从表中选择层次结构

MySQL自动递增不递增

php - 在 PHP 中使用 if/else 检查 SQL 查询

sql - 如何从数据库中删除除最大日期外具有相同日期的数据。 rails 3

php - 我的 SQL 语法中出现未知错误

c# - 如何获取从表单/字符串中获取的值的系统类型?

php - API 按城市和酒店搜索,查找我的数据库中存在的城市和酒店