繁体   English   中英

如何在bash / mysql脚本中引用.my.cnf的位置?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM