首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除MySQL托管MySQL中的Orphan表

删除MySQL托管MySQL中的Orphan表
EN

Database Administration用户
提问于 2019-08-12 05:23:56
回答 1查看 423关注 0票数 0

我有一些孤儿表,我无法删除在谷歌管理的MySQL实例。

https://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting-datadict.html描述了如何使用查询:SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE '%#sql%';找到它们。

并返回以下结果

代码语言:javascript
复制
TABLE_ID, NAME, FLAG, N_COLS, SPACE, FILE_FORMAT, ROW_FORMAT, ZIP_PAGE_SIZE, SPACE_TYPE
'10790334', 's/#sql-ib10651620-992396264', '33', '10', '15069', 'Barracuda', 'Dynamic', '0', 'Single'
'11386494', 's/#sql-ib11176578-758128583', '33', '10', '15865', 'Barracuda', 'Dynamic', '0', 'Single'
'11715795', 's/#sql-ib11550885-968245244', '33', '56', '16593', 'Barracuda', 'Dynamic', '0', 'Single'
'11884112', 's/#sql-ib11854996-1155811138', '33', '63', '16936', 'Barracuda', 'Dynamic', '0', 'Single'
'12648506', 's/#sql-ib11883996-1143057998', '33', '31', '18549', 'Barracuda', 'Dynamic', '0', 'Single'
'12877658', 's/#sql-ib11884055-1196159549', '33', '34', '19856', 'Barracuda', 'Dynamic', '0', 'Single'
'15159365', 's/#sql-ib15000139-4079941189', '33', '58', '24560', 'Barracuda', 'Dynamic', '0', 'Single'

我无法选择这些表中的任何一个,例如:

use s; SELECT * FROM `#mysql50##sql-ib10651620-992396264` limit 10

https://mariadb.com/resources/blog/get-rid-of-orphaned-innodb-temporary-tables-the-right-way/之后,我尝试创建一个同名的表。

在查询的帮助下,我找出了这些孤儿来自哪些表。

information_schema.innodb_sys_tables.NAME喜欢“%#sql%”的地方选择*从information_schema.innodb_sys_tables联接information_schema.innodb_sys_columns使用(TABLE_ID)

然后,我复制了相关表的create语句并编辑了表名。

代码语言:javascript
复制
CREATE TABLE `s`.`#sql-ib10651620-992396264` ( `ID` int(11) NOT NULL AUTO_INCREMENT, ...) ENGINE=InnoDB DEFAULT CHARSET=utf8;

然后试着放弃

代码语言:javascript
复制
drop table `s`.`#mysql50##sql-ib10651620-992396264`;

但它找不到桌子。在删除创建的表之后,

代码语言:javascript
复制
drop table `#sql-ib10651620-992396264`;

孤儿之桌依然存在。

据我所知,使用托管MySQL实例,我无法访问运行MySQL的机器,因此无法从命令行删除相关文件。从命令行登录到数据库并执行shell命令,在客户端的主机系统上执行命令,而不是在承载MySQL的系统上执行命令。

这不是一个大问题,但这将是一个很好的回收磁盘空间。

EN

回答 1

Database Administration用户

发布于 2019-08-12 09:31:00

关于cloudSQL,您的理论是正确的,因为它是谷歌管理服务

如果希望对mysql数据库进行完全访问,可以通过具有超级用户权限的计算引擎实例使用它。

不过,关于您当前的问题,请填写一个bug 这里,它位于私有组件之下,如果有需要,您可以共享敏感信息。

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

https://dba.stackexchange.com/questions/245107

复制
相关文章

相似问题

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