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.
Page generated in 0.040 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders. It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
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.