问题标签 [mysql-error-1142]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
13618 浏览

mysql - 如何在 mysql 中启用跨数据库连接?

我正在尝试使用如下查询将一些数据从我的生产数据库移植到我的沙箱:

当我尝试此跨数据库连接时,出现以下错误:

错误 1142 (42000): SELECT 命令拒绝用户 'myusername'@'server.domain.tdl' 用于表 'SomeTable'

有问题的用户对两个数据库的有问题的表都有权限。我在 unix mysql 客户端和 windows MySQL Query Browser 应用程序中都尝试过,结果相同。

我错过了什么?

0 投票
4 回答
1187 浏览

php - php多数据库问题

我设置了两个数据库连接,如下所示

它工作正常

所以我在这样的页面上做一些查询:

它工作正常,之后我做了第二个这样的查询:

再次一切都很好,但是然后....

给出这个错误:

**

SELECT 命令拒绝用户 'wordpress'@'localhost' 用于表 'eventos'

**

0 投票
3 回答
8405 浏览

mysql - 有没有更好的方法来为 MySQL 中的临时表分配权限?

我们的用户以相当低级别的用户身份登录生产数据库,在数据库级别授予 SELECT,并在他们需要访问的特定表上授予 INSERT/UPDATE/DELETE。

他们还拥有创建临时表的权限(我们需要它们来处理一些更复杂的查询)。问题是虽然他们可以创建临时表,但他们无权将 INSERT 插入其中!

我们发现的一种解决方法是创建一个同名(但只有一个字段)的“真实”(持久?)表,并授予他们插入该表的访问权限。然后,当创建具有相同名称的临时表时,系统将使用它,而不是持久表。

如果您尝试授予对表的访问权限(在另一个会话中,以 root 身份),您不能:

所以我的问题是,基本上,我们可以在临时表上授予 INSERT/UPDATE/DELETE 权限,而无需挂起同名的“持久”表吗?

0 投票
1 回答
495 浏览

mysql - 将更慢的数据插入到 mySQL 中

背景:

我们有大约 60GB 的大型平面文件,并且正在插入到数据库中。在插入过程中,我们正在经历增量性能降级。

  • 我们有 174(百万)条记录,预计再插入 50(百万)条记录
  • 我们根据实体名称的前两个字符将主表拆分为 1000 多个表,例如 entity_aa、entity_ab ... entity_zz
  • 在每次插入期间,运行三个查询 (a) 基于范围的搜索到另一个表,(b) 检查记录是否已插入 (c) 插入到详细信息 (entity_briefs) 表
  • 我们添加了 entity_briefs 来处理频繁的搜索查询,但意识到,在插入数据库后,无论我们是否 ALTER TABLE entity(或 entity_briefs)DISABLE(或 ENABLE)KEY,它都会逐渐变慢。
  • 这台机器有 4 个 CPU,Gigs 磁盘空间,2GB RAM。操作系统为 Linux CentOS (5.4) 32bit
  • 我们发现并非所有 4 个 CPU 都被利用
  • 我们一次运行了 4 个导入脚本,但整体性能并不令人满意

有问题的表

mysqltuner.pl 输出:

需求: 为了加快插入速度,可以使用什么优化策略?

0 投票
1 回答
193 浏览

php - 帮助查找此 MySQL 页面中的安全漏洞?

我正在尝试在 MySQL 页面中查找安全漏洞。这是一个学习 SQL 的班级的作业。通过文本框,他们可以访问数据库以提交查询并查看它是否返回正确的数据集。我想知道他们是否可以做任何恶意的事情。

这是SHOW GRANTS查询的结果:

有人可以解释这些GRANT陈述的含义吗?什么是*.*GRANT USAGE?我还能对这个网站做些什么来破坏它?

该网站本身是用 PHP 编写的。

作为对 The Rook 的回应,当我执行时:

我回来了:

正如我所想,用户似乎缺乏执行此操作所需的权限。还是我误解了什么?

0 投票
1 回答
519 浏览

php - 当 INFORMATION_SCHEMA 拒绝访问时如何查询表的列?

我想要做的是获取表的所有列(表可以为空)

我之前做过的例子:

它在本地主机上完美运行,但是在我的提供商上它提供:

是否有不使用 INFORMATION_SCHEMA 的替代方法?

0 投票
1 回答
235 浏览

mysql - 将 MySQL 表的内容复制到另一个(本地)数据库中的表

我的站点有两个 MySQL 数据库——一个用于生产环境,另一个小得多,用于测试/开发环境。两者都有相同的模式(当然,除非我正在测试我打算改变的东西)。少数表用于国际化目的:

TransLanguage - 非英语语言

TransModule - 模块(用于翻译的短语包,可以由 PHP 脚本单独加载)

TransPhrase - 单独的短语,用英语,用于潜在的翻译

TranslatedPhrase - 志愿者提交的短语的翻译

ChosenTranslatedPhrase - 筛选的短语翻译。

做翻译的志愿者都在生产现场工作,因为他们是普通用户。

我想创建一个存储过程,可用于将其中四个表(TransLanguage、TransModule、TransPhrase 和 ChosenTranslatedPhrase)的内容从生产数据库同步到测试数据库,以使测试环境保持最新并防止在测​​试时出现“未知短语”错误。我的第一个努力是在测试数据库中创建以下过程:

当我尝试运行它时,我收到一条错误消息:"SELECT command denied to user 'username'@'localhost' for table 'TransLanguage'". 我还尝试创建过程以相反的方式工作(即,作为生产数据库而不是测试数据库的数据字典的一部分存在)。如果我这样做,我会收到一条相同的消息,只是它告诉我我被拒绝了 DELETE 命令而不是 SELECT。

我确保我的用户在两个数据库上都具有 INSERT、DELETE、SELECT、UPDATE 和 CREATE ROUTINE 权限。然而,似乎 MySQL 不愿意让这个用户同时在两个数据库上行使它的权限。怎么会,有没有办法解决这个问题?

0 投票
1 回答
89 浏览

mysql - 使用 JOIN USING 查询错误

考虑这个简单的查询:

我收到此错误:

1142: SELECT 命令拒绝用户 'root'@'localhost' 用于表 'table1' 中的列 'pid'

当我替换USINGON(以及正确的语法......)时,错误消失了。

问题是什么?

0 投票
1 回答
21735 浏览

mysql - GRANT DELETE ON database.table TO username@'%';

我已经让用户完全控制数据库中的一个表。但是,他们似乎无法删除记录。

我作为特权用户尝试过:

但是删除仍然不起作用

有任何想法吗?

干杯,

内森。

0 投票
16 回答
240134 浏览

mysql - 错误:选择命令拒绝用户''@''为表''

在我的网站中,我使用的是 MySQL 数据库。我正在使用一个网络服务,我在其中进行所有与数据库相关的操作。

现在在该网络服务的一种方法中,我收到以下错误。

选择命令拒绝用户 '<userid>'@'<ip-address>' 用于表 '<table-name>'

有什么问题?

下面是我收到该错误的代码。我尝试调试,发现它在该行失败

MySqlDataReader result1 = command1.ExecuteReader();

这是我的代码: