我有一个连接到mysql服务器并提取信息的bash脚本。我的.my.cnf文件在我的主目录中。我想将.cnf文件的位置更改为~myname / .my.cnf
我的问题是如何在我的脚本或我对数据库的mysql调用中引用这个新位置?
由于
答案 0 :(得分:1)
这是关于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
作为替代方案。 Login path reference。该文件不是纯文本。您使用mysql_config_editor
创建登录路径,其中存储用户名,密码,主机等
答案 1 :(得分:0)
我不知道你的意思是什么“~myname / .my.cnf”。这将扩展到由用户名和“myname”串联组成的目录,这是没有任何意义的。我猜你的意思可能是“〜/ something / .my.cnf”
'〜'expands to $HOME因此只需在调用mysql之前重新定义$ HOME就足够了(尽管这会混淆对'〜'的进一步引用。
HOME=$HOME/myname
mysql <somescript.sql