Mysql не запускается - ibdata1 поврежден?- ошибка операционной системы № 13 - проблема с разрешениями - PullRequest
30 голосов
/ 11 октября 2010

Выключение сервера из-за сбоя питания.
Mysql сейчас не запускается.
Диск не переполнен.Системный журнал ниже

Oct 11 15:03:31 joe mysqld_safe[24757]: started
Oct 11 15:03:31 joe mysqld[24760]: 101011 15:03:31  InnoDB: Operating system error number 13 in a file operation.
Oct 11 15:03:31 joe mysqld[24760]: InnoDB: The error means mysqld does not have the access rights to
Oct 11 15:03:31 joe mysqld[24760]: InnoDB: the directory.
Oct 11 15:03:31 joe mysqld[24760]: InnoDB: File name ./ibdata1
Oct 11 15:03:31 joe mysqld[24760]: InnoDB: File operation call: 'create'.
Oct 11 15:03:31 joe mysqld[24760]: InnoDB: Cannot continue operation.

Ответы [ 14 ]

1 голос
/ 04 сентября 2013

У меня была точно такая же проблема на моей коробке CentOS. После перемещения каталога данных mysql я больше не мог запускать службу, хотя я скопировал файлы с тем же владельцем и разрешениями.

У меня была проблема с контекстом безопасности SELinux. Если вы запустите свой пакет CentOS, у него есть все шансы быть включенным, и вы не сможете делать то, что вам нужно, с MySQL. Чтобы это исправить:

Сначала сравните старый каталог и новый каталог, используя

ls -Z /var/lib/mysql 

и

ls -Z /new/mysql/dir

Если вы видите какую-либо разницу, вероятно, это ваша проблема. Чтобы изменить это:

chcon -R --type=mysql_db_t /new/mysql/dir

Ключ -R предназначен для рекурсии. Если вам нужно изменить только один файл, вы можете пропустить его.

0 голосов
/ 25 мая 2014

Если у вас есть эта проблема на NAS-устройстве Synology, вы можете исправить ее, следуя советам службы поддержки Synology:

Уважаемый пользователь,

Это было подтверждено как известная проблема, и мы постараемся исправить эту проблему в следующем выпуске MariaDB. Приносим извинения за доставленные неудобства.

Вот обходной путь:

  • Пожалуйста, попробуйте подключиться к вашей DS с учетной записью "root" и паролем (как у администратора)
  • запустить команду "echo 1> / var / services / mysql / VERSION"
  • открытие пакета MariaDB из DSM снова вызовет обновление
  • введите пароль БД и нажмите «Обновить», чтобы решить эту проблему

Дополнительная информация: Форум Synology

0 голосов
/ 21 октября 2013

В моем случае проблема Селинукса. И
chcon -R --type=mysql_db_t /new/mysql/dir приходит ошибка:
chcon: failed to change context of /new/mysql/dir to root:object_r:mysql_db_t: Invalid argument.
Поэтому я использую команду: chcon -R root:object_r:mysqld_db_t /new/mysql/dir.

0 голосов
/ 11 октября 2010

У меня была такая же проблема.Сделал много исследований и нашел это решение.Вам нужно запустить эту команду на ibdata1 sudo shadowprotect -u root |root

Я не знаю, что это делает ... но у меня это сработало.

Удачи.

...