mysqldump 无法导出特定数据库,phpMyAdmin 崩溃

mysqldump 无法导出特定数据库,phpMyAdmin 崩溃

我的服务器上的数据库出现了问题(注意:所有其他数据库都运行正常)。

一旦我尝试导出它,mysqldump就会出现此错误:

# mysqldump -u root -pXXXXXXXXX databasename > /root/databasename.sql

mysqldump: Couldn't execute 'show table status like 'apps'': Lost connection to MySQL server during query (2013)

此外,phpMyAdmin 在选择此数据库时会抛出错误并立即注销。但是,使用此数据库的网站运行正常。我还可以SELECT从 MySQL shell 对名为“apps”的表执行语句。

我尝试重新启动 MySQL 守护程序以及REPAIR DATABASEREPAIR TABLE但问题仍然存在。我以前遇到过这个问题,后来它不知怎么就消失了,我没有做任何事情来解决这个问题。现在,问题又回来了,我根本无法创建这个数据库的备份。

使用的软件

  • Debian 6.0.7 x64
  • MySQL 5.1.66-0

MySQL 版本:

mysql> SHOW VARIABLES LIKE "%version%";
+-------------------------+-------------------+
| Variable_name           | Value             |
+-------------------------+-------------------+
| protocol_version        | 10                |
| version                 | 5.1.66-0+squeeze1 |
| version_comment         | (Debian)          |
| version_compile_machine | x86_64            |
| version_compile_os      | debian-linux-gnu  |
+-------------------------+-------------------+

phpMyAdmin 错误消息,切换到数据库时

SELECT  `comment` 
FROM `phpmyadmin`.`pma_column_info`
WHERE db_name = 'databasename'
AND table_name =  ''
AND column_name = '(db_comment)'

MySQL said: 

#2006 - MySQL server has gone away

答案1

MySQL 服务器消失(错误 2006)的最常见原因(及修复方法)是:

服务器超时并关闭了连接。如何修复:

查看

wait_timeout variable

my.cnf 配置文件足够大。

在 Debian 上:

 sudo nano /etc/mysql/my.cnf, 

设置 wait_timeout = 600 秒

sudo /etc/init.d/mysql restart. 

wait_timeout 的默认值可能约为 28800 秒(8 小时)。

要检查的第二件事是

服务器丢弃了不正确或过大的数据包。如果 mysqld 收到过大或不正确的数据包,它会认为客户端出了问题并关闭连接。您可以通过增加 my.cnf 文件中 max_allowed_pa​​cket 的值来增加最大数据包大小限制。

在 Debian 上:

  sudo nano /etc/mysql/my.cnf, 

  max_allowed_packet = 64M 

然后

  sudo /etc/init.d/mysql restart.

答案2

在物理层面访问磁盘上的数据库文件似乎存在问题。

我建议REPAIR TABLE在尝试 mysqldump 之前先尝试一下,以确保数据库表文件是。还请检查 mysql 错误日志,以确保您发现正确的问题。这适用于 MyISAM 表。如果您正在使用 InnoDB 表,请先尝试执行:

ALTER TABLE tablename ENGINE=MyISAM;
REPAIR TABLE tablename;
ALTER TABLE tablename ENGINE=InnoDB;

有关命令语法的更多信息,请参见此处:http://dev.mysql.com/doc/refman/5.1/en/repair-table.html

相关内容