当然,我们都很好.我试图在没有安装MySQL数据库的磁盘上创建一个MySQL表空间,这样我就可以显式指定应该在该表空间上创建表,而不是使用数据库默认表空间.我使用以下查询来创建表空间,但不断收到错误:

CREATE TABLESPACE sampleTableSpace ADD DATAFILE 'D:/SampleTableSpace/sampleTableSpace.ibd' engine = innodb;

使用上面的查询创建表空间时,我得到了以下错误:

ERROR 3121 (HY000): The DATAFILE location must be in a known directory.

我不知道如何修复这个问题,但我想可能是因为MySQL安装在C盘上,而我试图在D盘上创建表空间和数据文件.

请问我做错了什么?

推荐答案

在MySQL 8.0.21及更高版本中,您必须告知InnoDB表空间文件可以位于哪些位置.

有关此功能的公告和完整说明,请参阅https://dev.mysql.com/blog-archive/new-consistency-for-datafile-locations-in-mysql-8-0-21/.

有关用于指定位置列表的innodb_directories选项的文档,请参见https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_directories.

Mysql相关问答推荐

嵌套MySQL语句问题

S在我的SQL代码中的外键出了什么问题?

SQL/Pyspark -判断条件

使用JSON_CONTAINS搜索多个值的原理

MySQL-如何检测时间戳中的一天

亚马逊RDS MySQL-无法';t执行';使用读取锁定刷新表';

根据现有行 Select 月份日期

按特定顺序匹配 EventS 和下一个 EventA 之前的第一个 Event 之间的记录

我在连接到 mysql 的 node js 中收到错误消息发送到客户端后无法设置标头

无法从mysql数据库获取数据

按年份范围 SQL 查询分组

SQL / MySQL:如何在WHERE IN中判断类似于OR的AND逻辑

当查询 MySQL 的 goroutine 过多时,Go 会出现panic

使用数据表的直方图(SQL 查询)

查找同时玩过这两种游戏的玩家

为什么从我的 SQL 查询中删除 BINARY 函数调用会如此显着地改变查询计划?

MySQL ORDER BY rand(),名称为 ASC

MySQL - 我如何输入 NULL?

ON UPDATE RESTRICT 有什么作用?

在 MySQL 中存储 IPv6 地址