just checked the new System-Check page in Piwik and it’s telling me that LOAD DATA INFILE can’t be used. Piwik DB User already got the FILE permission. Is there anything else I need to take care of to use this functionality?
[quote=matt]
try updating PHP and Mysql on the server as some older versions are buggy with this feature![/quote]
we are using PHP 5.3.16 and MySQL 5.5.15
What is the minimum Version needed for this Feature? (as updating is a bit problematic as we also run a SAAS CMS on same Server which is pretty PHP Version specific …)
It might be a little different per distro, some need =1 and so on. But keep in mind I have yet to see a distro that just has this on in their mysql release. It is seen as a security risk using this you should be aware of what other issues it may bring, some distro’s do not even compile this in their binaries.
Distro’s like Ubuntu need to be compiled from source and pass this
If the problem persists then there is something not set properly on your SQL install. You need the File permissions to use load data infile. Most will have to give those file permissions to ALL ie . … That is also why its looked at as a security risk. vwyoda’s last post is all that is needed to make it work.
Has anyone found any solution to this?
My tmp folder and subfolders permissions are all 0777 and I’m still having this issue.
local-infile is on as mysql variables states.
So what else needs to be done to make this work?
Using 777 is never a proper solution for anything in my opinion.
Have you tried all the listed things in this thread and the other one? What OS are you on? Have you verified you are not on an OS that does not built mysql with data infile compiled into it? Did you grant the file permission to all?
Sorry for the lack of information on my post.
My server uses Centos 6.4.
Piwik database user has all file permissions. Mysql shows than data infile is on.
The piwik’s system check error message is
Error:
Try #1: LOAD DATA INFILE : SQLSTATE[HY000]: General error: 13 Can't get stat of 'path/to/file' (Errcode: 13)
where path/to/file/ is piwik /tmp/assets directory.
I should mession that the owner for tmp directory is the ‘ftp’ user but for the folders inside it, is the ‘apache’ user.
tmp folder permissions are 777 atm.
That error means it does not have the permissions it needs. With 777 user no longer matters. Anyone can read write execute in that location. Its a MySQL permission issue you have not web server.
Edit: The key is . for file permission for the user. It cant be YourPiwikDB.* has to be .
I’ve already done that when granding file permissions to the database user.
I know from mysql documentation that in order for mysql to access files with LOAD DATA INFILE command, it needs permission not only for the directory that the file exists but for parent directories too.
Piwik is installed as subdomain on my dedicated server in the path /var/www/vhosts/domain.com/analytics/.
So until the piwik’s tmp folder permissions can’t be the same. I don’t know how deep mysql needs permissions but according to LOAD DATA INFILE requirments I don’t know what else I can do to make this work.
Well I dont have to put 777 (775) on my Piwik tmp folder and I have done exactly everything I have stated in this thread to get it working. So there must be something you have missed. Did you reload priveleges or restart mysql? The problem is in something with your MySQL install, perhaps hit up the CentOS forums maybe they put some special sauce layer in their package that is giving you issues.
Also make sure something like SELinux is not preventing this.