Eu estava recebendo o seguinte erro ao tentar alterar o diretório de dados no servidor 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
Norling Jr.
fonte
fonte
Respostas:
Depois de alguma confusão geral sobre permissões, o OP percebeu que o problema não era que ele não tinha permissões e direitos de caminhos, mas que o AppArmor estava impedindo o MySQL de ler e gravar no novo local.
Esta é a solução dele:
Primeiro pare o MySQL, para que nada de estranho aconteça enquanto você estiver mexendo:
Em seguida, mova todos os diretórios do banco de dados para o novo local:
Não mova os arquivos, eles serão gerados pelo mysql, apenas mova as pastas (que são os bancos de dados).
Em seguida, solicite educadamente ao AppArmor que permita ao mysql usar a nova pasta:
Então diga ao mysql que o datadir foi movido:
NOTA: Dependendo da configuração do banco de dados, talvez seja necessário alterar innodb-data-home-dir etc.
Em seguida, reinicie o AppArmor para ler as novas configurações:
E inicie o MySQL novamente usando o novo datadir:
fonte
/new-mysql-dir/ r
contrário ainda será negado. Coisas básicas do Linux, mas nunca consigo corrigir as barras finais.