用于通过脚本运行 mysql 相关作业的凭据文件?

a c*_*der 4 mysql authentication

有没有一种方法可以将 mysql 指向凭据文件,而不是直接在脚本中输入帐户密码?

例子:

mysqldump --opt --credfile /etc/mysql_creds mydatabase > output.sql
Run Code Online (Sandbox Code Playgroud)

/etc/mysql_creds

username=myuser
password=ToPsEcReT
Run Code Online (Sandbox Code Playgroud)

Bil*_*win 5

最好将凭据存储在配置文件中,并将它们作为额外的默认文件加载:

$ mysqldump --defaults-extra-file=mycred.cnf ...
Run Code Online (Sandbox Code Playgroud)

配置文件与 /etc/my.cnf 或 ~/.my.cnf 格式相同

$ cat mycred.cnf
[mysqldump]
user = myuser
password = xyzzy
Run Code Online (Sandbox Code Playgroud)

MySQL 5.6 还引入了凭据的加密存储。你可以设置一个加密文件~/.mylogin.cnf:

$ mysql_config_editor set --login-path=dump --host=localhost --user=root --password
Enter password: 
Run Code Online (Sandbox Code Playgroud)

然后您可以使用该登录路径进行转储

$ mysqldump --login-path=dump ...
Run Code Online (Sandbox Code Playgroud)

  • 我不知道 5.6 的变化,这是一个很棒的功能! (2认同)