/usr/libexec/mysqld: Can’t create/write to file ‘/tmp/’ (Errcode: 13)

A detailed log from /var/log/mysqld.log file:

/usr/libexec/mysqld: Can’t create/write to file ‘/tmp/ibCfJwf1’ (Errcode: 13)
070420 10:07:58 InnoDB: Error: unable to create temporary file; errno: 13
070420 10:07:58 [ERROR] Can’t init databases
070420 10:07:58 [ERROR] Aborting

070420 10:07:58 [Note] /usr/libexec/mysqld: Shutdown complete

/etc/init.d/mysql start command returned following output:
Initializing MySQL database: [ OK ]
Timeout error occurred trying to start MySQL Daemon.
Starting MySQL: [FAILED]

How do I fix this problem?

A. MySQL is not able to access your /tmp directory to wirte and create temporary files. Make sure /tmp is owned by root and sticky bit is set on /tmp directory. Type the following commands to fix the error:
# chown root:root /tmp
# chmod 1777 /tmp
# /etc/init.d/mysqld start

Now mysql should start without a problem.

Advertisements