o mysqld não inicia em outro sistema (nem no antigo) - nenhum arquivo de log disponível

2

Acabei de instalar o archlinux x64, anteriormente usei um Debian de 32 bits. O sistema operacional antigo ainda existe (quase) sem modificações, pois comprei novos discos.

No Arch, mas também no Debian, eu tentei iniciar mysqld com seus respectivos comandos. Em ambos os sistemas, ele simplesmente pára até que finalmente desista e informe falhas.

Mudei o banco de dados de seu local original para outro caminho há alguns meses, porque estava ficando sem espaço. Eu ajustei my.cnf de acordo:

datadir         = /mnt/media/mysql_db

/mnt/media é exatamente o mesmo drive LVM para ambos os sistemas. Então montei no novo sistema e ele reclamou de alguns mysql-bin.index faltando, então copiei esse arquivo de /var/lib/mysql (ele supõe que foi criado quando eu executei mysqld com uma configuração não modificada). Depois disso, ele reclamou de outros arquivos mysql-bin.* , então eu copiei todos eles. Esta é a única modificação que fiz na pasta original.

Tentando iniciar novamente, o arquivo de log /mnt/media/mysql_db/hostname.err nem sequer foi tocado. Eu verifiquei /var/log e qualquer outro local que eu poderia pensar, mas nenhum arquivo é tocado pelo mysql. Então agora os comandos de partida falham, mas não me avisam por que.

Então eu tentei inicializar no meu antigo sistema, mas aqui a mesma coisa agora. Eu apaguei os arquivos mysql-bin.* novamente, uma vez que eles não estavam lá de qualquer maneira, mas ainda assim falha e não fornece nenhuma saída.

Alguma ideia de como limitar minha pesquisa ou encontrar uma solução?

    
por javex 31.07.2012 / 22:37

1 resposta

1

Eu não posso testar isso no momento, mas pode ser um problema de permissão.

Verifique se a propriedade correta e as permissões de arquivo estão definidas no datadir e em todos os arquivos dentro dele.

O usuário mysql deve possuir o datadir e as permissões no datadir devem ser 700 (ou drwx------ ). O usuário mysql também deve possuir os subdiretórios e arquivos de banco de dados dentro do datadir . Os diretórios devem ter suas permissões definidas como 700 (ou drwx------ ) e os arquivos do banco de dados devem ter suas permissões definidas como 660 (ou -rw-rw---- ). Isso tudo pode ser confirmado com ls -l .

Se alguma das permissões estiver configurada incorretamente (ou seja: se você copiou os arquivos como root, a raiz agora os possui), corrija-os com chown e chmod .

Para alterar a propriedade de um arquivo / diretório para o mysql, use o seguinte:

chown mysql:mysql /path/to/file

Para alterar as permissões em um arquivo / diretório, use o seguinte:

chmod 660 /path/to/file

substituindo 660 pela permissão que você deseja definir.

    
por 01.08.2012 / 00:21