您可以将mysql
连接信息放入 中~/.my.cnf
,如下所示:
[client]
database=dbsite
user=dbuser
password=dbpass
host=dbhost
然后你可以mysql
不带任何参数调用,它将获取用户名、密码和所有其他详细信息~/.my.cnf
。
但是,对此文件使用严格的权限:
chmod 0600 ~/.my.cnf
如果你不想污染你的~/.my.cnf
文件,你可以在其他地方创建一个文件,例如/path/to/my.cnf.dbname
,然后mysql
像这样调用:
mysql --defaults-file=/path/to/my.cnf.dbname
再次确保为此文件设置严格的权限:
chmod 0600 /path/to/my.cnf.dbname
更新
一个常见的陷阱是设置host
不正确。此设置必须与mysql.user
用户表中的设置相匹配。您可以通过以数据库管理员身份运行此查询来确认您的用户帐户:
select Host, User from mysql.user;
或者,您可以找到服务器配置文件中使用的主机名,例如:
grep -r host /etc/mysql
但是,正确的路径取决于您的系统。(这是来自标准的 Debian 安装。)