How to setup mysqldump without password in cronjob

mysql, mysql databaseIf you execute mysqldump manually, mysqldump will prompt you for password. If you setup mysqldump via cronjob, you need to find a solution to disable the password. I’ve setup mysqldump to backup my db via cronjob without password. All you need to do is just to add a file in your home directory and it will disable the mysqldump password prompting.

To setup mysqldump without password in Cronjob, follow the steps below:-


  • Start your terminal and login to your server
  • Create a .my.cnf file in the home directory
    vi ~/.my.cnf
  • Copy the content below and replace with your mysql username and password.
    user = mysqluser
    password = secret
  • Now change the file permission to 600 to prevent other user from reading it
    chmod 600 ~/.my.cnf
  • Now you can try to execute mysqldump and system will not prompt you for password by now
  • To setup the cronjob
    crontab -e

    Append the line below to your crontab and it will run mysqldump every night at 12:00am

    0 0 * * * mysqldump -u mysqluser -h localhost --all-databases | gzip -9  > alldb.sql.gz > /dev/null 

* for more information on mysql backup, refer to how to backup mysql database

Share this with your friends:-

5 Responses to “How to setup mysqldump without password in cronjob”

  1. Brennero says:

    Thanks, simple and a life saver

  2. littleguy says:

    Excellent tutorial, thank you!

  3. Jody says:

    Great & simple post. Thanks.

  4. littleguy says:

    Excellent post, thanks!

  5. sivawut srithammawut says:

    This is very useful.


Leave a Reply