HomeMySQL Page 3 - Working with the MySQL Access Privilege System
4.4.4 Connecting to the MySQL Server - MySQL
If you need to administer MySQL, this article gets you off to a good start. In this section, we continue our discussion of security issues with the MySQL access privilege system. The third of a multi-part series, it is excerpted from chapter four of the book MySQL Administrator's Guide, written by Paul Dubois (Sams; ISBN: 0672326345).
MySQL client programs generally expect you to specify connection parameters when you want to access a MySQL server:
The name of the host where the MySQL server is running
For example, the mysql client can be started as follows from a command-line prompt (indicated here by shell>):
shell> mysql -h host_name -u user_name -pyour_pass
Alternate forms of the -h, -u, and -p options are --host=host_name, --user=user_name, and --password=your_pass. Note that there is no space between -p or --password= and the password following it.
If you use a -p or --password option but do not specify the password value, the client program will prompt you to enter the password. The password is not displayed as you enter it. This is more secure than giving the password on the command line. Any user on your system may be able to see a password specified on the command line by executing a command such as ps auxww. See Section 4.5.6, "Keeping Your Password Secure."
MySQL client programs use default values for any connection parameter option that you do not specify:
The default hostname is localhost.
The default username is ODBC on Windows and your Unix login name on Unix.
No password is supplied if -p is missing.
Thus, for a Unix user with a login name of joe, all of the following commands are equivalent:
shell> mysql -h localhost -u joe
shell> mysql -h localhost
shell> mysql -u joe
Other MySQL clients behave similarly.
You can specify different default values to be used when you make a connection so that you need not enter them on the command line each time you invoke a client program. This can be done in a couple of ways:
You can specify connection parameters in the [client] section of an option file. The relevant section of the file might look like this:
Option files are discussed further in Section 3.3.2, "Using Option Files."
You can specify some connection parameters using environment variables. The host can be specified for mysql using MYSQL_HOST. The MySQL username can be specified using USER (this is for Windows and NetWare only). The password can be specified using MYSQL_PWD, although this is insecure; see Section 4.5.6, "Keeping Your Password Secure." For a list of variables, see Appendix B, "Environment Variables."