Mysql突然崩溃,请教如何恢复?

我有一个在Ubuntu上运行的Mysql数据库,突然间崩溃了。 我已经尝试清除安装: –

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

从系统中,然后用aptitude重新安装。

我也从一个备份中恢复了/ var / lib / mysql中的所有文件,我知道这个备份是为数据库工作的。

我可以进入数据库,并切换到数据库,我怀疑有一个损坏的文件,但只要我做'显示表',我得到一个崩溃: –

 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 

错误日志的最后一行显示: –

 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) 

我希望一个新的安装将消除“列数MySQL.db是错误的”错误,但似乎并没有这样做。

有人能够build议一种方法来恢复我的数据库?

手动运行mysql_upgrade – 可能是您的MySQL数据库不符合您所使用的MySQL更新版本的模式要求。

你有为服务器备份的权限吗? 如果是这样的话,备份你的mysql数据目录可能会更快(以防万一) – closuresMySQL,从数据目录中删除'mysql'目录/数据库并运行'mysql_install_db'使它重新生成数据库,启动MySQL并重新加载您的权限。