查询:
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的参数不正确
答案 0 :(得分:0)
你这里至少有两个问题。首先,您的表没有任何列。其次,您不能将DATA DIRECTORY
或INDEX DIRECTORY
与InnoDB一起使用。
此外,从MySQL 5.0.60开始,您不能使用包含DATA DIRECTORY
或INDEX DIRECTORY
的MySQL数据目录的路径名。我猜测/var/lib/mysql
是你的MySQL数据目录吗?
答案 1 :(得分:0)
DATA DIRECTORY通过创建符号链接来工作,该符号链接通常从表的原位置(在datadir内部)到选项指定的位置。出于安全原因,为避免绕过特权系统,服务器不允许datadir内部的符号链接。因此,DATA DIRECTORY不能用于指定datadir内部的位置。尝试这样做将导致错误1210(HY000)DATA DIRECTORY的参数不正确。
https://mariadb.com/kb/en/library/create-table/#data-directoryindex-directory
您的数据目录位于/var/lib/mysql/
中,请尝试其他位置,例如/var/shop