Description:
Please add an option to initialize a database with a random root password and then store this password in .mylogin.cnf as login path.
This can make it easier to provision MySQL servers with an automation tool like puppet.
Currently:
1. securely initialize a database (mysql_install_db or --initialize)
2. Grab the password from .mysql_secret or the error log
3. Then use this password to login and change it.
Alternatively:
1. Insecurely initialize
2. Then set the password.
Currently most automation tools use the second method, but could use the first method if step 2 was not needed anymore:
How to repeat:
See description
Suggested fix:
Proposed method:
1. securely initialize a database (mysql_install_db or --initialize)
2. Then use the login path to login and change it.
3. Remove and/or update the login path
On systems with multiple mysqld installations a --login-path option could be used to indicate the name of the login path.
mysqld --initialize --store-loginpath
# Stored in the default login path ('client'?)
mysqld --initialize --store-loginpath --login-path=foobar
# Stored in the 'foobar' login path.