![有没有办法将一个 MySQL DB 放在一个位置,而将其他 DB 放在另一个位置?](https://linux22.com/image/792872/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%B0%86%E4%B8%80%E4%B8%AA%20MySQL%20DB%20%E6%94%BE%E5%9C%A8%E4%B8%80%E4%B8%AA%E4%BD%8D%E7%BD%AE%EF%BC%8C%E8%80%8C%E5%B0%86%E5%85%B6%E4%BB%96%20DB%20%E6%94%BE%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E4%BD%8D%E7%BD%AE%EF%BC%9F.png)
在 Ubuntu 22.04 机器上安装任何现有的 MySQL 8.0 服务器。现有服务器运行正常,但想要导入一个非常大的数据库,但在当前数据目录中执行此操作会耗尽我可用的硬盘空间。
因此,我想将新的大型数据库导入到辅助位置(在外部硬盘上),最好无缝使用现有的 MySQL 服务器安装(即可以使用 MySQL“USE db_name;”命令在数据库之间来回移动,并且只需重定向到新大型数据库的辅助位置)(可能是某种符号链接?)。
有什么方法可以实现这个吗?
答案1
您想向现有的 mysql 实例添加新的数据库但使用不同的路径?
您使用 innodb 吗?您使用表 1. innodb_file_per_table? 如果没有(即大多数安装的默认值),那么实现此目的的最简单方法是重写导入文件以指定数据目录。
或者,您可以将其导入到 myISAM/Aria - 每个数据库都位于其自己的目录中,并且您可以使用符号链接迁移目录 - 创建数据库,停止 mysql,移动目录并从原始位置创建符号链接,然后启动 mysql。