Назад | Перейти на главную страницу

Пытаюсь восстановить базу данных MySQL с отказавшего сервера, и я продолжаю получать «mysqldump не может выполнить» show create table не существует (1146) »

Мой сервер OpenSuse 13.1 разбился и не мог загрузиться, но мне удалось подключить жесткий диск к другому компьютеру и скопировать файлы в / var / lib / mysql

При новой установке я выполнил шаги, описанные в этом ответе: https://serverfault.com/a/449238/371208

Однако, когда я пытаюсь запустить MySQL, я получаю следующее: «Задание для mysql.service не выполнено. Подробности см. В 'systemctl status mysql.service' и 'journalctl -xn'».

При запуске journalctl -xn результат будет следующим:

- Журналы начинаются в четверг 18 августа 2016 г., 15:19:12 EAT, заканчиваются в чт 18.08.2016, 17:49:02 EAT. - 18 августа 17:45:13 CPMA dbus [600]: [system] Успешно активированная служба 'org.kde.powerdevil.backlighthelper' 18 августа 17:46:28 CPMA dbus [600]: [system] Активация службы 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: процесс управления завершен, код = exited status = 1 18 августа 17:49:02 CPMA systemd [1]: Не удалось запустить LSB: Запустить сервер базы данных 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 перешел в состояние ошибки.

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

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

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

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

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