2017-02-15 79 views
0

我有一个调用mysql客户端来运行各种任务的应用程序。由于各种原因,mysql被调用为运行应用程序的用户(这是安全模型的核心,并且如果更改则会影响功能)。目前,mysql的用户名和密码通过命令行传递给客户端程序 - 显然这不是一个理想的状态。使用自定义my.cnf运行mysql客户端

覆盖$ HOME/my.cnf文件不是一个理想的解决方案 - 可能存在针对不同(本地和/或远程)数据库运行的多个并发任务。对数据库的访问必须经过认证。

有没有办法将自定义my.cnf文件(或其他方式安全地传递用户名和密码)传递给mysql客户端,而无需模拟交互式登录?

(在mysql: unknown variable 'username=my_db_user'

回答

1

提供使用--defaults文件或--defaults-额外的文件结果的my.cnf文件,您已经测试了这个

$ cat .my.cnf 
[client] 
user=root 
password=rootpw 

$ mysql --defaults-file=/Pathtomycnf/.my.cnf 

MariaDB [(none)]> quit 
Bye 
+0

感谢吗? - 问题是,我有'用户名'而不是'用户':) – symcbean