0

询问:

CREATE TABLE IF NOT EXISTS `shop_product`
DATA DIRECTORY = '/var/lib/mysql/shop/'
INDEX DIRECTORY='/var/lib/mysql/shop/'
ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1

为什么我有这个错误:

数据目录的参数不正确

4

2 回答 2

0

你在这里至少有两个问题。首先,您的表格没有任何列。其次,您不能使用DATA DIRECTORYINDEX DIRECTORY与 InnoDB 一起使用。

此外,从 MySQL 5.0.60 开始,您不能使用包含 MySQL 数据目录的路径名DATA DIRECTORYINDEX DIRECTORY。我猜那/var/lib/mysql是你的 MySQL 数据目录?

于 2012-08-27T14:10:29.463 回答
0

DATA DIRECTORY 通过创建从表通常所在的位置(在 datadir 内部)到选项指定的位置的符号链接来工作。出于安全原因,为避免绕过特权系统,服务器不允许数据目录内的符号链接。因此,DATA DIRECTORY 不能用于指定数据目录内的位置。尝试这样做将导致错误 1210 (HY000) 数据目录的参数不正确。

https://mariadb.com/kb/en/library/create-table/#data-directoryindex-directory

您的 DATA DIRECTORY 位于/var/lib/mysql/,请尝试其他位置,例如/var/shop

于 2019-06-28T02:48:59.043 回答