See all MySQL Database Server related FAQ
I‘m using Red Hat Enterprise Linux server version 4.0+ and MySQL version 4.20+. Monit has recently notified me following error:
mysqld’ failed to start.

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

Tutorial details
Difficulty level Easy
Root privileges Yes
Requirements None
Est. reading time 1 minutes

/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 on Linux or Unix-like systems?

This error means, MySQL server is not able to access your /tmp directory, to write and create temporary files. Make sure /tmp directory is owned by root user and sticky bit is set on /tmp directory. Type the following commands to fix this error. You must be login as root user and type:

# chown root:root /tmp
# chmod 1777 /tmp
## test it ##
# /etc/init.d/mysqld start

Now, your mysql server should start without a problem.

A note about SELinux and AppArmor security policies

If you are using SELinux or AppArmor with customized data directory for database, you need to modify polices to allow MySQL to read and write to the data directory.

πŸ₯Ί Was this helpful? Please add a comment to show your appreciation or feedback.

nixCrat Tux Pixel Penguin
Hi! 🀠
I'm Vivek Gite, and I write about Linux, macOS, Unix, IT, programming, infosec, and open source. Subscribe to my RSS feed or email newsletter for updates.

42 comments… add one
  • Linux User May 31, 2016 @ 15:07

    In my case itΒ΄s working, a big THX for your great hint … :-)

  • Dmitriy Moiseev Nov 9, 2016 @ 10:36

    Thanks a lot!

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre> for code samples. Your comment will appear only after approval by the site admin.