询问:
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
为什么我有这个错误:
数据目录的参数不正确
询问:
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
为什么我有这个错误:
数据目录的参数不正确
你在这里至少有两个问题。首先,您的表格没有任何列。其次,您不能使用DATA DIRECTORY
或INDEX DIRECTORY
与 InnoDB 一起使用。
此外,从 MySQL 5.0.60 开始,您不能使用包含 MySQL 数据目录的路径名DATA DIRECTORY
或INDEX DIRECTORY
。我猜那/var/lib/mysql
是你的 MySQL 数据目录?
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