首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysqldump无法导出特定的数据库,phpMyAdmin崩溃

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

Server Fault用户
提问于 2013-06-29 18:45:05
回答 2查看 5K关注 0票数 1

我的服务器上的数据库遇到了问题(注意:所有其他数据库都正常工作)。

一旦我尝试用mysqldump导出它,我就会得到以下错误:

代码语言:javascript
复制
# 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在选择此数据库时会抛出一个错误,并立即注销。但是,使用此数据库的网站运行良好。我还可以在名为“app”的表上执行SELECT语句。

我尝试重新启动MySQL守护进程以及REPAIR DATABASE和REPAIR TABLE,但问题仍然存在。我以前有过这个问题,后来它不知怎么地消失了,我什么也不做就解决了这个问题。现在,问题回来了,我根本无法创建这个数据库的备份。

使用的软件

  • Debian 6.0.7 x64
  • MySQL 5.1.66-0

MySQL版本:

代码语言:javascript
复制
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错误消息

代码语言:javascript
复制
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
EN

回答 2

Server Fault用户

回答已采纳

发布于 2013-07-02 12:20:21

MySQL服务器的大多数常见原因(以及修复)已经消失(错误2006):

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

检查

代码语言:javascript
复制
wait_timeout variable

在my.cnf中,配置文件足够大。

关于Debian:

代码语言:javascript
复制
 sudo nano /etc/mysql/my.cnf, 

设置wait_timeout = 600秒

代码语言:javascript
复制
sudo /etc/init.d/mysql restart. 

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

第二件要检查的是

服务器丢弃了不正确或太大的数据包。如果mysqld获得的数据包太大或不正确,则假定客户端出了问题并关闭了连接。您可以通过增加max_allowed_packet文件中的my.cnf值来增加最大数据包大小限制。

关于Debian:

代码语言:javascript
复制
  sudo nano /etc/mysql/my.cnf, 

  max_allowed_packet = 64M 

然后

代码语言:javascript
复制
  sudo /etc/init.d/mysql restart.
票数 1
EN

Server Fault用户

发布于 2013-07-01 13:18:38

在物理级别上访问磁盘上的数据库文件似乎是一个问题。

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

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/519607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档