我有old_server
50 个数据库。我只想创建new_server
3 个数据库。
当我尝试使用mysqldump
时,似乎new_server
正在复制所有数据库目录(尽管它们在 上是空的)和其他 47 个表的许多不必要的支持文件。
有什么办法可以避免这种情况(或者如果不可避免的话,事后清理)?我希望new_server
尽可能干净,如果可能的话,不要留下其他 47 个数据库的痕迹。
我很想直接从文件系统中删除这些文件和目录(或者至少暂时将它们移动到 /tmp),但我想尽可能避免这种情况。
我认为您正在备份所有数据库。您只需要备份这三个数据库。使用 mysqldump 如下:
你可以看到 mysqldump 使用的各种选项
mysqldump --help.
万一如果你想删除你不希望在新服务器上的 47 个数据库如果它们都只有 MyISAM 表你可以轻松删除它们。它也会回收空间。
如果数据库有 InnoDB 表,那么你必须使用另一个进程,因为只删除数据库不会 recliam InnoDB 表空间。为此,请点击链接
减少 mysql 中 ibdata 大小的最佳方法是什么?
如果您想检测哪些数据库实际包含 MySQL 数据,您可以运行以下查询:
任何没有表的数据库都不会出现在这个查询的结果集中。
你如何mysqldump这些非空数据库?使用上述查询,如下所示:
试试看 !!!