Mysql Falha ao iniciar

4

Estou executando uma máquina virtual Ubuntu 12.04 LTS. Na semana passada, a VM parou inesperadamente agora, o mysql não será iniciado na VM. Esses dois eventos podem estar relacionados, eles podem não ser.

Quando tento me conectar:

$ mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Então:

$ sudo service mysql start
start: Job failed to start

e

$ dmesg

[ 1838.218400] type=1400 audit(1374633238.253:50): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=18473 comm="apparmor_parser"
[ 1838.358656] init: mysql main process (18477) terminated with status 1
[ 1838.358695] init: mysql main process ended, respawning
[ 1839.269303] init: mysql post-start process (18478) terminated with status 1

e

$ service mysql status
mysql stop/waiting

Acho que isso significa que o mysql está falhando quando é iniciado:

$ sudo mysqld start
130723 21:51:24  InnoDB: Assertion failure in thread 3064211200 in file fut0lst.ic line 83
InnoDB: Failing assertion: addr.page == FIL_NULL || addr.boffset >= FIL_PAGE_DATA
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
02:51:24 UTC - mysqld got signal 6 ;

De acordo com o manual , fui ao diretório de dados (/ var / lib / mysql) e correu isto:

myisamchk --silent --force */*.MYI

Então:

$ sudo mysqld
...
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: for more information.
...

Meu banco de dados está corrompido? O que posso fazer para recuperar? Re-instalar o mysql? Algo menos drástico? Eu estou bem com a perda do banco de dados, eu só quero um sistema de trabalho.

    
por John Naegle 24.07.2013 / 04:43

3 respostas

1

Recriar o arquivo mysqld.sock pode fazer o truque.

 cd /var/run/mysqld
 sudo touch mysqld.sock
 sudo chown mysql:mysql mysqld.sock
 sudo chmod 1777 mysqld.sock
 sudo service mysql restart

Se não, faça o seguinte e poste os resultados:

 cd /var/run/mysqld
 ls -al
    
por 24.07.2013 / 04:54
0

Uma instalação quebrada do MySQL pode, às vezes, ser trabalhada, iniciando em safemode.

Importante Executar o MySQL no safemode reduz as configurações de segurança, permitindo potencialmente que outra pessoa acesse seus dados.

Para começar no modo de segurança, execute:

sudo /usr/bin/mysqld_safe --user=mysql --skip-grant-tables

Se você achar que suas tabelas estão de fato corrompidas, há várias etapas que podem ser tomadas para corrigi-las. Aqui está um link para um bom tutorial. link

link

    
por 24.07.2013 / 06:27
0

Verifique em my.cnf, procure a pasta tmp location. Em seguida, verifique se as permissões desse local são 777 . As permissões padrão das pastas são 755 e o formulário tmp deve ser 777 .

ERRO 2002 (HY000): Não é possível conectar-se ao servidor MySQL local por meio do soquete '/var/run/mysqld/mysqld.sock' (2)

    
por 24.05.2014 / 12:56

Tags