当你想要存取一个MySQL服务器时,MySQL客户程序一般要求你指定连接参数:你想要联接的主机、你的用户名和你的口令。例如,mysql
客户可以象这样启动(可选的参数被包括在“[”和“]”之间):
shell> mysql [-h host_name][-u user_name][-pyour_pass ]
-h
, -u
和-p
选项的另一种形式是--host=host_name
、--user=user_name
和--password=your_pass
。注意在-p
或--password=
与跟随它后面的口令之间没有空格。
注意:在命令行上指定一个口令是不安全的!随后在你系统上的任何用户可以通过打类似这样的命令发现你的口令:ps auxww
。见4.15.4 选项文件。
对于命令行没有的联接参数,mysql
使用缺省值:
- 缺省主机名是
localhost
。 - 缺省用户名是你的Unix登录名。
- 如果没有
-p
,则没有提供口令。
这样, 对一个Unix用户joe
,下列命令是等价的:
shell>mysql -h localhost -u joe shell>mysql -h localhost shell>mysql -u joe shell>mysql
其它MySQL客户程序有同样表现。
在Unix系统上,当你进行一个连接时,你可以指定要使用的不同的缺省值,这样你不必每次在你调用一个客户程序是在命令行上输入他们。这可以有很多方法做到:
- 你能在你的主目录下“.my.cnf”的配置文件的
[client]
小节里指定连接参数。文件的相关小节看上去可能像这样:[client] host=host_name user=user_name password=your_pass
见4.15.4 选项文件。
- 你可以用环境变量指定连接参数。主机可用
MYSQL_HOST
指定,MySQL用户名字可用USER
指定(仅对 Windows),口令可用MYSQL_PWD
指定(但是这不安全,见下一节) 。
如果连接参数以多种方法被指定,在命令行上被指定的值优先于在配置文件和环境变量中指定的值,而在配置文件指定的值优先于在环境变量指定的值。