【问题标题】:MySQL queries not running on command lineMySQL 查询未在命令行上运行
【发布时间】:2016-05-09 07:46:33
【问题描述】:

我在 ubuntu 中通过命令行使用 MySQL。在 'use database_name' 之后,只有 'desc table_name' 起作用。我无法运行任何选择、更新、插入、更改表查询。当我用';'点击查询时最后,我只看到空白结果。

mysql> SELECT * FROM WEB_POLICY;

控制台停止。没有显示错误。任何人都有想法,可能是什么问题?连接不是问题,因为它的本地主机。直到一个小时前,我都能够成功运行查询。

【问题讨论】:

  • 所以 MSQL 控制台只是停止并将您切换回终端?有没有试过重启 Mysql 看看能不能用?
  • 嗨...重新启动计算机有帮助。 MySQL 控制台在点击查询后刚刚停止。

标签: mysql database command-line ubuntu-14.04


【解决方案1】:

不是控制台停止,而是查询执行。很可能,表很大,SELECT * - 可能是最低效的查询 - 可能需要很长时间才能执行。尝试一些更简单的方法来测试一切正常,如下所示:

SELECT id FROM WEB_POLICY LIMIT 10

例如(当然,如果它有一个id 列)。

编辑:如果它不是大表,那么最可能的问题是另一个控制台或应用程序中的未提交事务(如果引擎是 InnoDB),或者被锁定的表(如果引擎是 MyISAM)。 对于 MyISAM,您通过 UNLOCK TABLES WEB_POLICY 释放锁定。对于 InnoDB 可能会有点困难: 1. SHOW FULL PROCESSLIST 用于显示所有活动连接 2. KILL 状态为“查询”的。

或者只是简单地重新启动服务器(适用于本地主机)以强制回滚打开的事务并释放锁。

【讨论】:

  • 嗨。感谢您的及时回复。我尝试了“从 WEB_POLICY 限制 1 中选择 *”,即使这样也不起作用。我无法弄清楚可能是什么问题,因为我之前能够进行查询并且数据没有改变。
  • 这很有趣。表使用 InnoDB 作为引擎?如果是这样,请检查show engine innodb status; 命令输出是否有错误。
  • 它也可能是另一个控制台(或由另一个应用程序启动)中的活动事务(如果是 InnoDB),或者是锁定的表(如果是 MyISAM)。
  • 嗨...我今天重新启动了我的电脑。现在 MySQL 控制台看起来不错。谢谢。
猜你喜欢
  • 2017-01-14
  • 1970-01-01
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 2017-08-07
  • 2013-11-09
  • 2022-10-03
  • 1970-01-01
相关资源
最近更新 更多