8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | 23c | Misc | PL/SQL | SQL | RAC | WebLogic | Linux
Home » Articles » Mysql » Here
MySQL : Password-less Logins Using Option Files
Placing login credentials into scripts is both difficult to maintain and a security risk. This article presents two methods for configuring password-less logins for MySQL, both of which require the login credentials to be placed in an "Option File", which is a local variation on the "my.cnf" file.
Silent
This method allows logins to MySQL with no explicit reference to the option file containing the credentials. In practice it feels very much like OS Authentication in Oracle.
Create an option file in the user's home directory called ".my.cnf".
vi ~/.my.cnf
Add the relevant username and password to the file in the following format.
[client] user=MyUser password=MyPassword
Make sure the permissions are set so only the current user can access (read/write) the file.
chmod 600 ~/.my.cnf
The user can now log in without specifying credentials on the command line.
$ mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.6.17-log MySQL Community Server (GPL) Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
The current settings can be overridden by specifying the credentials on the command line.
$ mysql --user=MyUser --password
Referenced
This method is similar to that mentioned previously, but it requires an explicit reference to the option file holding the credentials.
Create an option file to hold the credentials.
vi ~/scripts/extra.my.cnf
Add the relevant username and password to the file in the following format.
[client] user=MyUser password=MyPassword
Make sure the permissions are set so only the current user can access (read/write) the file.
chmod 600 ~/scripts/extra.my.cnf
The user can now log in by referencing the option file containing the credentials using the --defaults-extra-file
parameter.
$ mysql --defaults-extra-file=~/scripts/extra.my.cnf Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.6.17-log MySQL Community Server (GPL) Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
For more information see:
Hope this helps. Regards Tim...