~/.my.cnf
中有以下内容:[client]
password="somepass"
但这不是我用于连接到的每个user @ host / database的密码。有什么方法可以在配置中为不同的事情指定不同的密码,这样我就不必输入密码了?
#1 楼
正如我在这里回答的那样,您可以使用~/.my.cnf
中的语法为连接到的每个用户/主机/数据库添加一个部分:[clienthost1] # Note: client + host1
user=myuser
password=mypass
database=dbname
host=server.location.com
.my.cnf
,您可以通过在命令行上执行以下操作来利用它:$ mysql --defaults-group-suffix=host1
评论
如所承诺的,+ 1!
– RolandoMySQLDBA
11年8月23日在15:42
您能解释一下--defaults-group-suffix吗?
–奥修斯
2015年10月8日14:09
真好我花了一些时间从这里弄清楚其余的内容,但是对于mysql Cron备份,我现在可以使用mysqldump --defaults-group-suffix = host1 -P 3306 -h 111.0.0.xxx --ssl -u db_usr db_name > / home / myaccount / backups / db_name _ $(回显$(date'+ \%Y \%m \%d')。sql.gz)以创建压缩后的备份。谢谢!
–user1324409
2015年12月30日18:48
注意:如果将其放在全局my.cnf中,例如/etc/mysql/my.cnf,但其中有一个用户定义的.my.cnf,其中定义了[client],则后者将覆盖全局文件中的设置!嘘
–奥修斯
16年4月5日在8:24
请注意,MariaDB的联机帮助页错误地指出后缀x会读取[client_x]部分,但实际上您需要后缀_x
–丹尼尔·博默(DanielBöhmer)
19-10-31在21:40
#2 楼
自mysql 5.6.6起,不建议在文本文件中输入明确的密码。您可以使用
mysql_config_editor
保存加密的密码,还可以为不同的连接提供不同的密码https://dev.mysql.com/doc /refman/5.6/en/mysql-config-editor.html 评论
默默无闻的安全...
– Federico Razzoli
15年6月18日在14:04
+1代表mysql_config_editor
– RolandoMySQLDBA
15年6月18日在16:26
在将该程序(1)反向移植到以前的版本之前,(2)允许自动进行密码部署(即,不强制在TTY上读取密码),我不建议使用此方法。
–奥修斯
16年4月5日在8:16
MariaDB是否具有与mysql_config_editor匹配的类似支持或功能?
–杰里米·哈耶克(Jeremy Hajek)
17年7月28日在15:54
@JeremyHajek不,它不会,而且可能永远不会,因为MariaDB开发人员指出这只能提供一种错误的提高安全性的感觉:MySQL 5.6:通过自满来实现安全性吗?
–充血
18年6月29日在21:26
#3 楼
另一个答案是正确的。不幸的是mysqladmin
不支持--defaults-group-suffix
(至少不支持我使用的版本)。因此,我改而使用--defaults-file=HOST.cnf
,它适用于mysql
,mysqladmin
和mysqldump
。评论
将此添加到我的.bash_profile使其更加容易:alias my-host ='mysql --defaults-file = HOST.cnf'
–间谍
15年10月20日在13:59
评论
[用户@DTest在今年5月回答了这样的问题] [1] [1]:dba.stackexchange.com/questions/2820/…