我在MySQL工作台中有一个数据库。通常,我可以在数据库中删除表或架构。但是,当我试图在数据库中删除模式或表时,它无法工作,因为:
查询期间失去与MySQL服务器的连接
我试图更改数据库管理系统连接,优先读取超时,但仍然不能放弃这个模式。
发布于 2018-04-10 00:46:38
我之所以回答这个问题,只是因为它有公开的赏金,所以我不能指出它。
这个问题已经在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步骤2)对SELECT COUNT(1) FROM tablename;中的每个表运行bad_db。收集在尝试运行计数时不会使mysqld崩溃的所有表名。 对所有未崩溃mysqld的表运行mysqldump -u... -p... bad_db table1 table2 ... tableN > bad_db_goodtables.sql。 如果要使用不同的数据库名称,那么将bad_db_goodtables.sql重新加载到新数据库中。 如果你需要数据库是相同的名字,坏消息!你将对ibdata1进行大修。还有更多的步骤: 步骤04)将所有其他数据库转储到单独的转储文件中 执行InnoDB基础设施清理(StackOverflow Post) 步骤06)释放所有其他mysqldumps转储好的数据库。 试试看!!
发布于 2019-09-13 08:16:08
我真不敢相信这个问题还没回答..。
若要删除架构,请执行以下操作:
1)关闭mysql (在我使用的MacBook上):
launchctl卸载/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
2)进入MySql的数据目录,例如:
cd /usr/local/mysql/data
3)那里的数据库存储为一个目录,只需使用rm -rf命令删除dir及其内容:
rm -rf YourSchema
4)启动MySql,在它下面的MacBook上:
launchctl负载/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
5)登录到您的GUI (或您拥有的任何管理工具),然后刷新。
6)它不见了。
7)现在,当您重新启动MySql时,您会在日志中看到错误,上面写着".不是找到的等等“。这不会阻止服务器启动,为了修复这些问题,使用MySQL管理工具,创建一个与旧的名称完全相同的架构,然后删除它,这就解决了问题。
8)重新启动MySQL,检查所有日志,一切都应该正常。
我希望这能帮到你。
https://stackoverflow.com/questions/30408080
复制相似问题