На работе случился полный блэкаут и после подъема всех сервисов выяснилось, что не запустилась одна MySQL база.
Сам MySQL запущен. show databases выводит стандартный список, но нужной базы в нем нет. Файлы базы на месте, там где и должны быть. Никаких сообщений об ошибках найти не удалось. Такое ощущение, что конкретно эту базу он просто автоматом не стартует... Все осложняется тем, что нет специалистов по mysql вообще, может тут кто подскажет — как пнуть MySQL, чтобы он явно попытался поднять эту базу и как от него получить внятные объяснения почему он это не делает?
Здравствуйте, DOOM, Вы писали:
DOO>Всем привет.
DOO>На работе случился полный блэкаут и после подъема всех сервисов выяснилось, что не запустилась одна MySQL база. DOO>Сам MySQL запущен. show databases выводит стандартный список, но нужной базы в нем нет. Файлы базы на месте, там где и должны быть. Никаких сообщений об ошибках найти не удалось. Такое ощущение, что конкретно эту базу он просто автоматом не стартует... Все осложняется тем, что нет специалистов по mysql вообще, может тут кто подскажет — как пнуть MySQL, чтобы он явно попытался поднять эту базу и как от него получить внятные объяснения почему он это не делает?
Проверь права доступа к файлам где лежит база. (#ls -la /var/lib/mysql/) у тебя должны быть пользователь и группа mysql mysql
Здравствуйте, Art_lt, Вы писали:
A_>Проверь права доступа к файлам где лежит база. (#ls -la /var/lib/mysql/) у тебя должны быть пользователь и группа mysql mysql
С правами на файлы все нормально.
Здравствуйте, DOOM, Вы писали:
DOO> Сам MySQL запущен. show databases выводит стандартный список, но нужной базы в нем нет. Файлы базы на месте, там где и должны быть. Никаких сообщений об ошибках найти не удалось. Такое ощущение, что конкретно эту базу он просто автоматом не стартует... Все осложняется тем, что нет специалистов по mysql вообще, может тут кто подскажет — как пнуть MySQL, чтобы он явно попытался поднять эту базу и как от него получить внятные объяснения почему он это не делает?
Способ кривой, но может получиться:
* Останавливаем сервер;
* Копируем все из директории mysql в отдельное место на случай;
* Запускаем сервер;
* DROP DATABASE <нужная_база>; CREATE DATABASE <нужная_база>; на этом этапе база будет пустой;
* Останавливаем сервер;
* Копируем в директорию пустой базы ранее сохраненное содержимое;
* Запускаем сервер и проверяем.
Если сама база MyISAM, не порушена и не было задано для нее отдельных прав на таблицы и тому подобное, то должно запуститься. Далее я бы от греха подальше все сдампил, снес бы полностью содержимое (при перезапуске оно бы создалось по умолчанию) и залил бы дампы.
Здравствуйте, DOOM, Вы писали:
DOO>Всем привет.
DOO>На работе случился полный блэкаут и после подъема всех сервисов выяснилось, что не запустилась одна MySQL база. DOO>Сам MySQL запущен. show databases выводит стандартный список, но нужной базы в нем нет. Файлы базы на месте, там где и должны быть. Никаких сообщений об ошибках найти не удалось. Такое ощущение, что конкретно эту базу он просто автоматом не стартует... Все осложняется тем, что нет специалистов по mysql вообще, может тут кто подскажет — как пнуть MySQL, чтобы он явно попытался поднять эту базу и как от него получить внятные объяснения почему он это не делает?
Вопрос решен. Всем спасибо.
На самом деле проблема была все же в правах (база была, но не отображалась). Во-первых, почему-то пропали назначенные привилегии для пользователей БД.
Во-вторых, root@localhost оказался никто — надо было заходить root@<fqdn>.
В общем из-за этих двух вещей и создалось впечатление, что базы нет вообще.