我有一个应用程序调用mysql客户端来运行各种任务。由于各种原因,调用mysql作为运行应用程序的用户(这是安全模型的核心,如果更改,也会影响功能)。目前,mysql用户名和密码通过命令行传递给客户端程序 - 显然这不是一个理想的事态。
覆盖$ HOME / my.cnf文件并不是一个理想的解决方案 - 可能存在针对不同(本地和/或远程)数据库运行的多个并发任务。必须对数据库的访问进行身份验证。
有没有办法将自定义my.cnf文件(或其他安全传递用户名和密码的方式)传递给mysql客户端,而无需模拟交互式登录?
(使用--defaults-file或--defaults-extra-file提供my.cnf文件导致mysql: unknown variable 'username=my_db_user'
答案 0 :(得分:1)
你测试了这个吗?
$ cat .my.cnf
[client]
user=root
password=rootpw
$ mysql --defaults-file=/Pathtomycnf/.my.cnf
MariaDB [(none)]> quit
Bye