Mysql Can't create/write to file error#13
It is probably a permission issue for the temporary folder that is used by Mysql.
You can find the folder used by Mysql for temp operations in the config file in /etc/mysql/my.cnf
as such :
tmpdir = /tmp
As you can see, the temp folder in use by default is "/tmp".
Privileges should be :
drwxrwxrwt 9 root root 4096 oct. 24 15:39 tmp/
So anybody, including the "mysql" user, can use it. If not correctly set, the following command would do the trick :
chmod 0777 /tmp
Hope this helps !
If after giving necessary write permissions to the new tmpdir you're still having the same error - and mysql therefore can't start - you might have AppArmor enabled. So do :
sudo vim /etc/apparmor.d/local/usr.sbin.mysqld
Of course you can use any text editor other than vim eg nano. Note that usr.sbin.mysqld
at the end corresponds to what you get by doing which mysql
or which mysqld
(with /
replaced by .
). When the file is open, you'll see some comments at the top like :
# Site-specific additions and overrides for usr.sbin.mysqld.
# For more details, please see /etc/apparmor.d/local/README.
Then put after those comments :
/path/to/new/tmp/dir/ r,
/path/to/new/tmp/dir/** rwk,
And then do : sudo service apparmor reload
. Now try starting mysql : sudo service mysql start
and you should be good to go.