我在MySQL Workbench中有一个数据库。通常我可以在我的数据库中删除表或模式。但是当我尝试在数据库中删除模式或表时,由于以下原因它无法工作:
查询期间与MySQL服务器的连接丢失
我尝试更改 DBMS连接读取超时,但我仍然无法删除此架构。
答案 0 :(得分:2)
我只是在回答这个问题,因为我没有标记它,因为它有开放的赏金。
此问题已在database administrators stack exchange上得到解答。请记住,数据库是架构的同义词。
恐怕你不能放弃数据库。
问题来自于腐败的表格。它不一定是
.ibd
个文件。它很可能是数据字典条目 ibdata1(See pictorial representation of ibdata1)。我在
Mar 02, 2012
上写了这篇文章: https://dba.stackexchange.com/questions/14259/innodb-table-select-returns-error-2006-hy000-mysql-server-has-gone-away-after/14283#14283虽然单调乏味,但您可以采取以下措施来保存其他表格 那个腐败的数据库
bad_db
:步骤01)
USE bad_db
步骤02)为每个表运行
SELECT COUNT(1) FROM tablename;
bad_db
。收集所有不会崩溃mysqld的表名 试图计算。步骤03)对于没有崩溃的所有表运行
mysqldump -u... -p... bad_db table1 table2 ... tableN > bad_db_goodtables.sql
。如果要使用其他数据库名称,请重新加载
bad_db_goodtables.sql
进入该新数据库。如果您需要数据库同名,不清楚!你会 有大修ibdata1。还有更多步骤:
步骤04)mysqldump将所有其他数据库分成单独的转储文件
步骤05)执行InnoDB基础设施清理(See my
Oct 29, 2010
StackOverflow Post)步骤06)重新加载所有其他mysqldumps好的数据库。
试一试!!!
答案 1 :(得分:0)
我不敢相信这个问题尚未得到解决...
要删除您的架构,请执行以下操作:
1)关闭mysql(在我使用的MacBook上):
launchctl卸载/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
2)进入MySql的DATA目录,例如:
cd / usr / local / mysql / data
3)那里的数据库存储为目录,只需使用rm -rf命令删除目录及其内容即可:
rm -rf YourSchema
4)启动MySql,在MacBook上,它位于:
launchctl加载/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
5)登录到GUI(或您拥有的任何ADMIN工具),然后刷新。
6)它消失了。
7)现在,当您重新启动MySql时,您会在日志中看到“ .. not found等...”错误,这些错误不会阻止服务器启动,使用MySQL Admin工具修复该问题,请使用与旧名称完全相同的架构,然后将其删除,即可解决此问题。
8)重新启动MySQL,检查所有日志,一切都很好。
我希望这会有所帮助。