Задавайте вопросы, мы ответим
Вы не зашли.
Бодрое время суток!
Сегодня наблюдал следующую картину.
Висело несколько процессов, у каждого из них состояние "Locked", кроме одного, но он в слипе висел уже долго.
Все используемые таблицы имеют тип MyISAM, и после того, как убил все имеющиеся процессы, запуск новых приводил их к тому же статусу "Locked". Проблему решил только перезапуск сервера БД.
Есть ли какие-то рациональные объяснения всему этому? И можно ли было решить прблему не перезапуская сервер?
Неактивен
Если Вы действительно убили все процессы, то это бага MySQL. Если хотя бы какой-то процесс оставался,
то он мог блокировать таблички.
Учтите, что непривилегированная учетная запись не видит процессы других учетных записей.
Неактивен
О, про другие учётные записи я даже не подумал, видимо проблема в этом, попробую уточнить.
Только проблема в том, что рутовский пароль базы давно посеян... Можно ли сменить рутовский пароль базы, имея доступ к руту системы?
Неактивен
Можно его поменять. Подробнее написано вот тут:
http://sqlinfo.ru/forum/viewtopic.php?id=72
Неактивен
Спасибо!
А проблема была действительно в запросе другого пользователя
Неактивен
Недавно снова подымался вопрос о блокировках в MyISAM...
А почему при селекте из одной таблицы блокируются инсерты/апдейты в другие таблицы? Разве селект не должен блокировать только используемую таблицу?
Неактивен
Должен, он блокирует только те таблицы, с которыми работает.
Неактивен
Значит что получается, если после селекта есть два коннекта, в первом апдейт той же таблицы, а во втором - другой, то второй апдейт будет ждать пока не отработает первый? Или второй должен всё равно проскочить независимо от того, что первый ждёт окончания селекта?
Неактивен
Второй проскочит.
Неактивен