Trying to recover MySQL database from a crashed server and I keep getting “mysqldump couldn't execute 'show create table doesn't exist (1146)”

My OpenSuse 13.1 server crashed and couldn't boot but I managed to connect the hard drive to another computer and copied the files in /var/lib/mysql

On a new installation, I followed the steps outlined in this answer: https://serverfault.com/a/449238/371208

However, when I attempt to start MySQL, I get this: "Job for mysql.service failed. See 'systemctl status mysql.service' and 'journalctl -xn' for details."

On running 'journalctl -xn', this is the output:

-- Logs begin at Thu 2016-08-18 15:19:12 EAT, end at Thu 2016-08-18 17:49:02 EAT. -- Aug 18 17:45:13 CPMA dbus[600]: [system] Successfully активирован сервис org.kde.powerdevil.backlighthelper 18 августа 17:46:28 CPMA dbus [600]: [система] Активация службы name = 'org.kde.powerdevil.backlighthelper' (с использованием servicehelper) 18 августа 17:46:28 CPMA dbus [600]: [система] Служба успешно активирована 'org.kde.powerdevil.backlighthelper' 18 августа 17:48:32 CPMA systemd [1]: Запуск LSB: Запустите сервер базы данных MySQL ... - Тема: Модуль mysql.service запущен при запуске - Определено: systemd

- Поддержка:

- Модуль mysql.service начал запускаться. 18 августа 17:49:02 CPMA mysql [6300]: предупреждение о запуске службы MySQL: /var/run/mysql/mysql.sock не появилось в течение 30 секунд 18 августа 17:49:02 CPMA mysql [6300]: chmod: нет доступа к '/var/run/mysql/mysqld.pid': нет такого файла или каталог 18 августа 17:49:02 CPMA mysql [6300]: ..failed 18 августа 17:49:02 CPMA systemd [1]: mysql.service: процесс управления завершен, код = выход status = 1 18 августа 17:49:02 CPMA systemd [1]: не удалось запустить LSB: Start сервер базы данных MySQL. - Тема: Ошибка модуля mysql.service - Определено: systemd - Поддержка: http://lists.freedesktop.org/mailman/listinfo/systemd-devel

- Документация: http://www.freedesktop.org/wiki/Software/systemd/ catalog / be02cf6855d2428ba40df7e9d022f03d

- Ошибка модуля mysql.service.

- Ошибка результата. 18 августа 17:49:02 CPMA systemd [1]: модуль mysql.service перешел в состояние ошибки.

Как мне устранить эту ошибку?

0
задан 13 April 2017 в 15:14
1 ответ

Я уже видел эту ошибку! Ты, наверное, передумал. На самом деле это либо проблема с разрешениями, либо отсутствие файлов/папок, либо отсутствие файла pid. Проще диагностировать проблему, если Вы становитесь пользователем mysql с su (su -s /bin/bash mysqld) или sudo (sudo -u mysqld -i), т.к. если Вы являетесь правильным пользователем, Вы также столкнетесь с проблемами с правами доступа. Как только вы станете пользователем mysql, вы должны проверить, что каталог /var/run/mysql/ существует. В ней также должна быть папка для каждой базы данных (а не таблицы). Дополнительно проверьте, что пользователь mysql имеет доступ rw к /var/run/mysql* и /var/lib/mysql*.

В любом случае проблемы с разрешениями могут быть исправлены с помощью chown. Иногда информация о собственности/разрешениях файловой системы скремблируется, когда диск получает плохие блоки, но также может быть, что ваш пользователь mysql имеет другой uid на новой машине.

Так или иначе, иногда mysql будет жаловаться и вызывать огромные проблемы, если pid файл отсутствует, поэтому я бы воссоздал его во время входа в систему как пользователь mysql. Вы хотите, чтобы в файле был pid mysqld_safe. Если mysql не работает, то оставьте его пустым.

TL;DR: На самом деле это именно то, как он выглядит (обычно). Если нет, напишите в ответ?

.
0
ответ дан 5 December 2019 в 09:40

Теги

Похожие вопросы