在Ubuntu 14.04.5上运行MySql 5.5.53。从文本文件导入数据时(加载数据infil $ FIL INTO TABLE& c)我得到了由于secure_file_priv而无法完成的可怕投诉
当咨询时,secure_file_priv的值是/ var / lib / mysql-files,我无法从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 :(得分:1)
请检查/ var / lib中是否有mysql-files目录。 因为从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/
答案 1 :(得分:0)
答案是:额外的配置文件的名称必须以" .cnf"结尾。 它在my.cnf结尾处这么说,像往常一样仔细阅读就足够了。