我刚刚从备份中恢复了我的InnoDB表(复制了ibdata1、ib_logfile1、ib_logfile0)
但是,当我现在启动mysql并尝试使用InnoDB表访问我的站点时,*我会得到以下错误
Got error -1 from storage engine
MySQL server has gone away在我的/var/log/syslog中,我有很多消息,如
Oct 19 00:21:31 vm645 mysqld: 111019 0:21:31 InnoDB: Error: page 113644 log sequence number 12 1381339343
Oct 19 00:21:31 vm645 mysqld: InnoDB: is in the future! Current system log sequence number 12 1375387790.
Oct 19 00:21:31 vm645 mysqld: InnoDB: Your database may be corrupt or you may have copied the InnoDB
Oct 19 00:21:31 vm645 mysqld: InnoDB: tablespace but not the InnoDB log files. See
Oct 19 00:21:31 vm645 mysqld: InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
Oct 19 00:21:31 vm645 mysqld: InnoDB: for more information.最后,我明白了
Oct 19 00:21:31 vm645 mysqld: InnoDB: Apply batch completed
Oct 19 00:21:31 vm645 mysqld: 111019 0:21:31 InnoDB: Started; log sequence number 12 1375387790
Oct 19 00:21:31 vm645 mysqld: InnoDB: !!! innodb_force_recovery is set to 4 !!!
Oct 19 00:21:31 vm645 mysqld: 111019 0:21:31 [Note] Event Scheduler: Loaded 0 events
Oct 19 00:21:31 vm645 mysqld: 111019 0:21:31 [Note] /usr/sbin/mysqld: ready for connections.
Oct 19 00:21:31 vm645 mysqld: Version: '5.1.49-3-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Debian)好吧,我想说它已经准备好连接了。然而,我得到了同样的错误,在这个问题的开头说。它看起来已经启动了,但是每次我尝试在InnoDB表上运行查询时,它都会掉下来一秒钟。
有什么想法?
有时,当我重新启动mysql时,它会显示在控制台中
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) - ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
......我得重新开始
出于某种原因,现在它只是
Unknown table engine 'InnoDB'发布于 2011-10-19 16:19:15
我已经备份了所有数据库(mysqldump -p db_name > db_name.sql),完全重新安装了mysql,并将我的数据库导入回了(mysql -p db_name < db_name.sql)。现在起作用了。
附带注意:永远不要删除/var/lib/mysql/ibdata1。
发布于 2013-10-28 22:44:54
你是怎么做后援的?复制mysql目录是一个非常糟糕的主意,而且不能很好地工作。使用mysqldump,或innobackupex。
对于这个问题,它可以很好地解决您的问题,您可以将ib_logfile0-1移到某个地方并启动mysql服务器。在此之后,我将开始检查我的数据是否在数据库中被破坏。
https://serverfault.com/questions/322740
复制相似问题