2016-01-31 4 views
0

Я использую MySQL через командную строку в ubuntu. После «use database_name» работает только «desc table_name». Я не могу запускать любые запросы выбора, обновления, вставки, изменения таблиц. Когда я нажимаю на запрос ';' в конце я просто вижу пустой результат.MySQL запросы не работают в командной строке

mysql> SELECT * FROM WEB_POLICY;

и консоль останавливается. Ошибка отображается. У кого-нибудь есть идея, что может быть неправильно? Соединение не является проблемой, так как его локальный хост. Я смог успешно запускать запросы до часа назад.

+0

Итак, консоль MSQL просто останавливается и переключает вас обратно на терминал? Вы пытались перезапустить Mysql и посмотреть, работает ли он? –

+0

привет ... перезагрузка компьютера помогла. Консоль MySQL просто остановилась после нажатия на запрос. – Rhea

ответ

0

Это не консольные остановки, а выполнение запроса. Пробали, таблица большая, и SELECT * - самый неэффективный возможный запрос - может потребоваться много времени для выполнения. Попробуйте что-нибудь более легкое, чтобы проверить, что все работает, как это:

SELECT id FROM WEB_POLICY LIMIT 10 

, например (если он имеет id колонку, конечно).

Редактировать: если это не большая таблица, то наиболее вероятной проблемой является транзакция с незавершенностью в другой консоли или приложении (если движок InnoDB) или LOCK'ed table (если движок MyISAM). Для MyISAM вы отпускаете замок на UNLOCK TABLES WEB_POLICY. Для InnoDB это может быть немного сложнее: 1. SHOW FULL PROCESSLIST для отображения всех активных подключений 2. KILL с статусом «запрос».

Или просто перезапустите сервер (отлично для локального хоста) для принудительных откатов открытых транзакций и блокировок.

+0

Привет. Спасибо за быстрый ответ. Я попробовал 'select * from WEB_POLICY limit 1', даже если он не работает. Я не могу понять, что может быть проблемой, поскольку я смог ударить запросы раньше, и данные не изменились. – Rhea

+0

Это интересно. В таблицах используется InnoDB как движок? Если это так, проверьте «show engine innodb status», 'command output для ошибок. –

+1

Это также может быть активная транзакция (если InnoDB) на другой консоли (или запущена другим приложением) или LOCK'ed table (если MyISAM). –

Смежные вопросы