Eu só tinha que lidar com isso.
Encontrando o backup
No meu caso, o mysql vive em /usr/local/mysql/
(onde a última parte é realmente um link simbólico para a versão atual do mysql). Ele faz corretamente o backup dos arquivos, e toda a estrutura existe no backup.
Mas, por algum motivo, mesmo que você navegue até o caminho local correto no localizador, se executar o "Time Machine", ele mostrará que não existe backup anterior. O que felizmente não é verdade, a menos que você o exclua.
Assim, para recuperar seu backup, você precisa navegar até o respectivo caminho no volume de backup, que deve ser algo como /Volumes/<yourbackupvolume>/Backups.backupdb/<host>/<revision>/Macintosh HD/usr/local/mysql/data/
. É mais fácil no terminal. Quando você cd
'para o caminho correto, você pode usar open .
para abrir uma janela do Finder nesse caminho e usar arrastar & solta. No entanto, o Finder provavelmente pedirá para você apropriar-se da pasta primeiro, então você terá que corrigir as permissões posteriormente.
Encontrando um backup estável
Se você tem o mysql rodando constantemente, você ainda pode ter um problema. Tanto quanto eu sei, o InnoDB é bastante resiliente, mas é possível que a estrutura do arquivo esteja corrompida. O MySQL vem com mysqlcheck
que supostamente pode reparar essas tabelas.
Se você não sabe, é mais fácil encontrar um backup em que a data / hora de modificação de todos arquivos em data/
(razoavelmente, digamos, alguns minutos) sejam inferiores à data / hora do backup. Neste caso, você pode estar razoavelmente seguro de ter um backup consistente e o mysql deve começar sem problemas.
Permissões
Se por algum motivo suas permissões não funcionarem após a recuperação, atualmente (OS X 10.10 / Yosemite) as permissões são definidas por
sudo chown -R _mysql:admin /usr/local/mysql/data
funcionou muito bem para mim (o MySQL é executado como usuário _mysql
). Observe que mysqld
falhará quase que silenciosamente e tentará apenas criar um arquivo de log de erros em /usr/local/mysql/data/
, que também pode falhar devido a permissões.