是否可以通过删除目录来删除 MariaDB(MySQL)InnoDB 数据库?

是否可以通过删除目录来删除 MariaDB(MySQL)InnoDB 数据库?

我正在研究以最快的方式启动新的从属服务器,该服务器只需要我们的一些数据库。基本计划是:

  • 停止现有的从站
  • 获取 LVM 快照并重新启动从属服务器(以便它可以重新处理流量)
  • 挂载快照
  • 删除快照中不需要的数据库的目录
  • 制作整个 mysql 目录的 tarball,排除我不想传输的数据库的目录,并转移到新的奴隶
  • 在新的从属服务器上交换 mysql 目录。在那里启动 mysql 并更新用户表和授权,然后刷新权限。
  • 更新主服务器上的权限以允许来自新的从属 IP 的复制用户。

我不确定的是,仅删除数据库目录是否可行,或者是否会遇到元数据不匹配的问题。如有必要,我可以在实际的 mysql 位置安装快照,并启动 CLI 会话以正确的方式删除数据库,但这需要更多努力,并且需要更长的时间,还会给源服务器带来更多负载,因此,如果我可以删除目录,那就理想了。也许删除目录,然后在新的从属服务器上清理相应的 information_schema 表?

所有这些的目的是,我计划能够在出现意外的流量高峰时快速做出反应,因此优先事项是启动新的从属服务器的速度,以及尽量减少现有从属服务器的增加负载和停机时间,因为在这种情况下它将承受高负载。

答案1

这不是一个好主意。InnoDB 将有关表、字段的信息保存在位于 ibdata1 中的字典中。如果删除数据库目录,客户端将看不到数据库。但会有副作用。例如,您将无法创建同名的表。

相关内容