查询:
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开始,不能使用包含DATA DIRECTORY
或INDEX DIRECTORY
的MySQL数据目录的路径名。我猜/var/lib/mysql
是您的MySQL数据目录?
DATA DIRECTORY的工作原理是创建从表通常所在的位置(在datadir内)到选项指定的位置的符号链接。出于安全原因,为了避免绕过特权系统,服务器不允许在datadir中使用符号链接。因此,DATA DIRECTORY不能用于指定数据目录中的位置。尝试这样做将导致错误1210(HY000)数据目录的参数不正确。
https://mariadb.com/kb/en/library/create-table/#data-directoryindex目录
您的数据目录位于/var/lib/mysql/
中,请尝试其他位置,例如/var/shop