无法在MySql工作台中删除架构

时间:2015-05-23 01:47:35

标签: mysql mysql-workbench

我在MySQL Workbench中有一个数据库。通常我可以在我的数据库中删除表或模式。但是当我尝试在数据库中删除模式或表时,由于以下原因它无法工作:

  

查询期间与MySQL服务器的连接丢失

我尝试更改 DBMS连接读取超时,但我仍然无法删除此架构。

2 个答案:

答案 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,检查所有日志,一切都很好。

我希望这会有所帮助。