Mysql de repente falhando, conselhos sobre como recuperar?

1

Eu tenho um banco de dados Mysql rodando no Ubuntu que de repente está caindo. Eu tentei limpar a instalação removendo: -

apt-get remove mysql-server 
apt-get remove mysql-client 
apt-get remove mysql-common

do sistema e, em seguida, reinstalá-los com o aptitude.

Eu também restaurei todos os arquivos em / var / lib / mysql de um backup que eu sei que estava trabalhando para o banco de dados.

Eu posso entrar no banco de dados e mudar para o banco de dados onde eu suspeito que há um arquivo corrompido, mas assim que eu faço 'show tables', eu recebo uma pane: -

mysql> show tables;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    5
Current database: DBNAME

ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
ERROR: 
Can't connect to the server

As últimas linhas do log de erros estão sendo exibidas: -

120311 17:12:29 [ERROR] Column count of mysql.db is wrong. Expected 22, found 20. The table is probably corrupted
120311 17:12:29 [ERROR] mysql.user has no 'Event_priv' column at position 29
120311 17:12:29 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler.
120311 17:12:29 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.1.41-3ubuntu12.10'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)

Eu esperava que uma nova instalação erradicasse o erro 'Contagem de colunas de mysql.db está errado', mas parece que não foi feito.

Alguém é capaz de sugerir uma maneira de recuperar meu banco de dados?

    
por Purpletoucan 11.03.2012 / 18:26

1 resposta

4

Execute mysql_upgrade manualmente - provavelmente seu banco de dados MySQL não atende aos requisitos de esquema para a versão atualizada do MySQL que você está usando.

Você tem os privilégios de backup para o servidor? Se assim for, pode ser mais rápido fazer backup de seu diretório de dados mysql (apenas no caso) - encerre o MySQL, remova o diretório 'mysql' / db do diretório de dados e execute 'mysql_install_db' para que ele gere o banco de dados, inicie MySQL e recarregue seus privilégios.

    
por 11.03.2012 / 18:31

Tags