首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Innodb表不存在

问Innodb表不存在
EN

Stack Overflow用户
提问于 2017-05-09 04:48:00
回答 1查看 70关注 0票数 0

系统类型:64位

Windows版: Windows Server 2008 R2企业版

Microsoft Windows Server: 6.1

MySQL工作台版本: 6.3

我管理一个多站点的WordPress,它已经增长到33,000个表,所以它变得非常慢。因此,我正在尝试优化我们的安装。我一直在DEV服务器上工作,最后删除了整个网站。假设复制实时服务器在这一点上不是一个选项(请相信我,它不是),您可以帮助我完成以下操作:

我突出显示并复制了实时服务器中的表,以将它们粘贴到DEV服务器文件夹中。Workbench可以识别Schemas区域中的表,但是当我为Innodb表编写SELECT查询时,它显示这些表不存在。但是,MyISAM表可以成功运行。

我只是感到困惑,因为我知道表在正确的文件夹中,但由于某种原因,它们不查询。我看到了一个解决方案,要求使用常规查询创建表,然后在文件夹中覆盖它们,但这对我来说是不现实的,因为有33,000个表。你们中有谁有关于如何让这些Innodb表再次工作的想法?

EN

回答 1

Stack Overflow用户

发布于 2017-05-09 08:35:15

您不能通过文件系统复制单个InnoDB表。

您可以使用“可传输的表空间”来做到这一点。请参阅您正在使用的MySQL版本的文档。(这与Workbench的版本不同。)

这样做是不明智的,但这是可能的。相反,您应该使用一些转储/加载机制,例如mysqldump或xtrabackup。

WordPress的设计缺陷是允许您访问33,000个表。由于涉及所有文件,这会给操作系统带来性能压力。

在迁移到InnoDB时,我建议您仔细考虑innodb_file_per_table的选择。这些想法涉及到您正在使用的MySQL、表有多大,以及您是否将使用“可传输的表空间”。

对于更改WP中的索引,我有一个强烈的建议:参见http://mysql.rjweb.org/slides/cook.pdf的幻灯片63。它将提高许多查询的性能。

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

https://stackoverflow.com/questions/43857016

复制
相关文章

相似问题

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