Eu tenho o Ubuntu Desktop 11.04 e estou tentando mover / var / lib / mysql para um volume TrueCrypt e estou falhando a cada tentativa.
Isso é para fins de desenvolvimento, e há um banco de dados específico com o qual preciso trabalhar, que precisa ser altamente seguro por vários motivos.
Após uma nova instalação do mysql-server e do mysql-client, eu posso iniciar o mysql sem nenhum problema. Então eu movo / var / lib / mysql para o volume TrueCrypt (chame-o / foo / truecrypt) e edite /etc/mysql/my.cnf para apontar o datadir para / foo / truecrypt.
Depois de verificar as permissões para ter certeza de que elas são iguais, tento iniciar o mysql novamente.
Ele não funciona (o MySQL continua a travar), e eu não consigo fazer o MySQL funcionar novamente (mesmo depois de matar todos os processos do mysql e mover o datadir de volta para / var / lib / mysql). Eu fiz um apt-get --purge remover mysql-client mysql-server mysql-common (e depois apagou todos os arquivos em / var / lib / mysql, etc / mysql / e / var / log / mysql *) pelo menos 5 vezes esta noite, a fim de obter uma nova instalação para tentar novamente.
Enquanto o MySQL trava, eu entrei em / var / log / mysql / e aqui está o que aparece em mysql.err:
120421 22:50:03 [Note] Plugin 'FEDERATED' is disabled.
^G/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
120421 22:50:03 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
120421 22:50:03 InnoDB: Initializing buffer pool, size = 8.0M
120421 22:50:03 InnoDB: Completed initialization of buffer pool
120421 22:50:03 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.
Eu tentei mover o / var / lib / mysql / e criar um link simbólico em vez de editar o my.cnf. Isso não faz diferença. Os erros acima indicam um arquivo ausente ou problemas de permissão. No entanto, o plugin.frm existe em / foo / truectrypt / mysql / mysql (como eu simplesmente movi o diretório pai), e a propriedade e as permissões nele e todos os outros arquivos nesse diretório são os mesmos que eram.
Você tem alguma sugestão? Estou perplexo.