mysql - Google Cloud SQL 中丢失的表 - MySQL 错误代码 1813。如何重新创建它?

标签 mysql google-cloud-sql

我在 Google Cloud SQL 上托管的数据库之一遇到问题。

如果我发出命令

SHOW TABLES 

作为 root,该表不会列出,如果我尝试创建该表,则会导致错误:

Error Code: 1813. Tablespace for table '`db`.`the_table`' exists. Please DISCARD the tablespace before IMPORT.

如果我尝试从表格中进行选择,它会显示:

Error Code: 1146. Table 'db.tha_table' doesn't exist

当我在网络上搜索时,常见的解决方案是修改 .ibd 文件等。问题是我无权访问 Google Cloud SQL 上的文件系统。

关于如何从表空间中删除表并重新创建它有什么想法吗?

我们尝试重新启动云 SQL 实例,但没有成功。

非常感谢任何帮助!

最佳答案

一个可能的原因是当你运行alter table命令时你的数据库崩溃了,然后发生的事情是mysql删除了表条目,但它没有达到删除磁盘上文件的步骤。

一种可能的解决方案是创建另一个具有完全相同架构但名称不同的表,创建后,将该表重命名为您在原始表中使用的名称。

关于mysql - Google Cloud SQL 中丢失的表 - MySQL 错误代码 1813。如何重新创建它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34857804/

相关文章:

google-cloud-platform - 更改 google sql 云中的区域

mysql - 类型错误 : Cannot read property 'name' of undefined

mysql - 从转储恢复 mysql 数据库时忽略特定表的数据

php - 为什么我不应该在 PHP 中使用 mysql_* 函数?

php - mysql pdo 中的一般错误

google-cloud-platform - GCP Cloud SQL 未能删除实例,因为 `deletion_protection` 设置为 true

mysql - 设置 CloudSQL 实例的最大连接限制

mysql - 无法通过socket连接到本地mysql服务器

php - 无法从 App Engine 连接到 google cloudsql

php - 将用户 ID 传递给嵌套查询