我可以告诉 MySQL 将特定数据库存储在特定文件夹中吗?

han*_*rik 4 mysql

假设我有 2 个数据库,“foo”和“bar”,我希望 MySQL 将“foo”存储在“/media/foo”中,将“bar”存储在“/media/bar”中,这可以在 MySQL 中完成吗? 5.5 或更高版本?

HBr*_*ijn 10

通常每个数据库已经在它自己的子目录中。从手册

MySQL 中的数据库被实现为包含与数据库中的表对应的文件的目录。由于最初创建数据库时没有表,因此该CREATE DATABASE语句仅在 MySQL 数据目录和 db.opt 文件下创建一个目录。
...
如果您在数据目录下手动创建一个目录(例如,使用mkdir),服务器会将其视为数据库目录并显示在SHOW DATABASES.

使用带有CREATE TABLE 语句子句的InnoDBDATA DIRECTORY = absolute_path_to_directory您甚至可以在普通 MySQL(子)目录结构之外创建表