mysql backup password without root home

The question:

What’s the best way to provide a MySql root password (~/.my.cnf) to cron job without root to have the home folder?
the server I’m using is centos

The Solutions:

Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.

Method 1

What’s the best way to provide a MySql … password

Using a separate configuration file, as described in the Manual.

What’s the best way to provide a MySql root password

You should not use any high-level credentials for Application connectivity. Not root, not mysql.
Always created a dedicated account for your Application, grant it appropriate permissions, and use that.

Why? You should always keep the Best Tools in the ToolBox for yourself – so that you can clean up the mess made by everybody else!

… without root to have the home folder?

The Linux root account will always have access to the mysql home folder.
By design, root must have access to everything.

Method 2

Use mysql_config_editor

mysql_config_editor set -G project_name -u database_name -p -h localhost

Notes

  • The -p prompts for the password
  • -P 3306 for port (default 3306)
  • -h could point to a remote server
  • Other options are possible

Docker example:

mysql_config_editor set -G o8016 -P 8016 -u root -p -h `hostname`

Usage:

mysql  --login-path=o8016

mysql_config_editor hides the pwd in a ‘dot file’ in your home directory is such a way that access is limited to you and, of course, “root”.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Comment