2016-10-27 39 views
0

在Ubuntu 14.04.5上运行MySql 5.5.53。当从文本文件导入数据时(加载数据infil $ FIL INTO TABLE & c)我得到了可怕的投诉,认为它不能完成,因为secure_file_privmysql:secure_file_priv(再次)

当咨询时,secure_file_priv的值是/ var/lib/mysql-文件,我不能从mysql内部更改,我也没有在任何配置文件中找到它,所以我认为它必须是硬编码的。

试图通过创建一个文件/etc/mysql/conf.d/secure_file_priv更改值,与内容

[mysqld] 
secure_file_priv="" 

然后重新启动mysql的与

/etc/init.d/mysql stop 
# wait for mysqld process to terminate 
/etc/init.d/mysql start 

,未发现变化。导入仍然会给出相同的错误,并且mysql仍然报告其默认值为secure_file_priv变量。

然后改变了我的小文件读取

[mysql] 
secure_file_priv="" 

和mysql再次重新启动,使用完全相同的(缺乏)的结果。

什么是确切方式来设置这个变量为我特定的mysql安装?或者我还缺少什么?

回答

0

答案是:额外的配置文件必须有一个以“.cnf”结尾的名称 在my.cnf结尾处这样说,像往常一样仔细阅读就足够了。

1

您可以检查一下mysql-files目录是否存在于/ var/lib中。 因为它不是从mysql-5.5.52升级到5.5.53时自行生成的。 很多人都遇到过这个问题。 这是一个已知的错误https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/1637280

所以如果没有生成那么请使用follwing命令手动创建这个目录,然后重新启动mysql服务器。

sudo mkdir /var/lib/mysql-files 
sudo chown -R mysql:mysql /var/lib/mysql-files/ 
sudo chmod 700 /var/lib/mysql-files/ 
+0

尊敬的是,该目录确实存在,它始终存在。其实,正如你上面看到的,我确实在其中创建了正确的文件,只有文件扩展名不正确。谢谢你的努力! –