SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 07.05.2018 11:41:37

Shopen
Гуру
Откуда: Москва
Зарегистрирован: 22.10.2007
Сообщений: 362

table is readonly

Приветствую, случился у меня тут инцидент. Внезапно одна из таблиц одной из БД перешла в режим только для чтения и скрипты посыпались с такими ошибками:

DELETE FROM `t1` WHERE master_id = 9970419 AND (NOT (ref_key IN ( 'UA_OTHER' ))) Table 't1' is read only

Длилось это к сожалению долго (19к ошибок набежало). Изза чего это вообще могло случится? Гугл выдает массу ответов, но 99% из них относятся к unix, chroot и все такое, а у меня win server, таблицы никуда ни откуда не переносились, пользователи и их права не редактировались. Рестарт mysql не помог, помог REPAIR.  На сервере в логах никаких ошибок (ни в системном ни в логе mysql)
У меня из идей приходит в голову только что где то подвисла сессия с LOCK TABLE, но по идее рестарт должен был снять все блокировки (или нет?). Куда копать? Как это предотвратить на будущее?

Табличка myisam, сервер 7.5

Отредактированно Shopen (07.05.2018 11:42:30)

Неактивен

 

#2 07.05.2018 12:07:11

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: table is readonly

Возможно, таблица повредилась, повредился индекс или кончилось место на диске. Для MyISAM это бывает, чинится REPAIR TABLE или myisamchk

Неактивен

 

#3 07.05.2018 12:19:32

Shopen
Гуру
Откуда: Москва
Зарегистрирован: 22.10.2007
Сообщений: 362

Re: table is readonly

То что повреждаются  - понятно. Но обычно (точнее всегда) при этом валятся совсем другие ошибки, типа "Table was marked as crashed and should be repaired". А тут таких не наблюдается - только таблица залочена и всё. Ни в логах mysql ни в системных - ничего. Это нормально?
(место на диске не кончалось однозначно - этот вариант можно сразу исключить)

Неактивен

 

#4 07.05.2018 12:33:31

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: table is readonly

Рестарт должен снять блокировки. Если помог REPAIR, значит таблица была повреждена. Трудно сказать почему такая ошибка. Не планируете переходить на Innodb?

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson