Я пытаюсь запустить приложение Rails на клонированном экземпляре EC2, и у меня возникают проблемы с разрешениями в моем файле ibdata1. В исходном экземпляре все работает так, как ожидалось. Однако в клонированном экземпляре я вижу следующую ошибку, когда пытаюсь запустить mysql:
101103 3:56:22 [Note] Plugin 'FEDERATED' is disabled.
^G/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
101103 3:56:22 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
101103 3:56:22 InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
Я попытался запустить mysql с помощью sudo start mysql, а также mysqld_safe --user = mysql и получил те же ошибки. Весь каталог / data / mysql принадлежит mysql, и каждый файл в каталоге имеет 660 разрешений для пользователя mysql и группы mysql. Я пробовал chmodding все на 777 и запускать как разные пользователи, но без особой пользы.
Размер моего файла ibdata1 составляет 76 ГБ, поэтому чистая переустановка и размещение этого файла нежелательны, но я могу обойтись без этого в краткосрочной перспективе и при необходимости выполнить надлежащее резервное копирование / восстановление в течение следующих нескольких дней.
Я не совсем уверен, что делать дальше - есть мысли?
Похоже, это была проблема с аппаратом. apparmor имел разрешения на
/var/lib/mysql r,
/var/lib/mysql/** rwk
но / var / lib / mysql привязан к / data / mysql. Нам нужно было добавить следующие две строки:
/var/lib/mysql r,
/var/lib/mysql/** rwk
И это, похоже, решило проблему.