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

sym*_*ean 6 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'

Ber*_*fen 4

你测试过这个吗?

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

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

MariaDB [(none)]> quit
Bye
Run Code Online (Sandbox Code Playgroud)