DATA DIRECTORY MySQL

时间:2012-08-27 14:04:12

标签: mysql

查询:

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的参数不正确

2 个答案:

答案 0 :(得分:0)

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

此外,从MySQL 5.0.60开始,您不能使用包含DATA DIRECTORYINDEX 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