[英]how do I reference location of .my.cnf in bash/mysql script?
我有一个连接到mysql服务器并提取信息的bash脚本。 我的主目录中有.my.cnf文件。 我想将.cnf文件的位置更改为〜myname / .my.cnf
我的问题是如何在脚本或mysql调用数据库中引用此新位置?
谢谢
这是有关MySQL如何查看选项文件的文档参考: https : //dev.mysql.com/doc/refman/5.7/en/option-files.html
File Name Purpose
/etc/my.cnf Global options
/etc/mysql/my.cnf Global options
SYSCONFDIR/my.cnf Global options
$MYSQL_HOME/my.cnf Server-specific options (server only)
defaults-extra-file The file specified with --defaults-extra-file, if any
~/.my.cnf User-specific options
~/.mylogin.cnf User-specific login path options (clients only)
注意:与mysql客户端连接时,要使用defaults-extra-file
选项。 mysql --defaults-extra-file=~/path/to/file/.filename < script
您应该考虑使用--login-path
作为替代方案。 登录路径参考 。 该文件不是纯文本。 您可以使用mysql_config_editor
创建您的登录路径,该路径存储用户名,密码,主机等。
我不知道您所说的“〜myname / .my.cnf”是什么意思。 这将扩展到由用户名和“ myname”串联而成的目录,这没有任何意义。 我猜你可能是说“〜/ something / .my.cnf”
'〜' 扩展为$ HOME,因此只需在调用mysql之前就重新定义$ HOME就足够了(尽管这会使对'〜'的进一步引用产生混淆。
HOME=$HOME/myname
mysql <somescript.sql
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.