Я получил следующую ошибку при попытке изменить каталог данных на сервере Ubuntu 10.04.
100809 19:33:00 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
100809 19:33:00 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
100809 19:33:00 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: 'create'.
InnoDB: Cannot continue operation.
mysql
ubuntu-10.04
directory
Норлинг-младший
источник
источник
Ответы:
После некоторой общей путаницы в отношении разрешений ОП понял, что проблема не в том, что у него нет прав доступа и прав доступа, а в том, что AppArmor препятствовал чтению и записи MySQL в новом месте.
Это его решение:
Сначала остановите MySQL, чтобы ничего странного не происходило во время игры:
Затем переместите все каталоги базы данных в их новый дом:
Не перемещайте файлы, они будут сгенерированы mysql, просто переместите папки (которые являются базами данных).
Затем вежливо попросите AppArmor разрешить mysql использовать новую папку:
Затем скажите mysql, что датадир переместился:
ПРИМЕЧАНИЕ. В зависимости от настроек вашей базы данных вам может потребоваться изменить innodb-data-home-dir и т. Д.
Затем перезапустите AppArmor, чтобы прочитать новые настройки:
И снова запустите MySQL, используя новый datadir:
источник
/new-mysql-dir/ r
иначе все равно будет отказано. Базовые вещи в Linux, но я никогда не получу правильные косые черты.