使用自定义my.cnf运行mysql客户端

时间:2017-02-15 10:19:33

标签: mysql command-line-interface

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

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

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

(使用--defaults-file或--defaults-extra-file提供my.cnf文件导致mysql: unknown variable 'username=my_db_user'

1 个答案:

答案 0 :(得分:1)

你测试了这个吗?

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

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

MariaDB [(none)]> quit
Bye