Answers:
.my.cnf
在您的主目录中创建一个名称如下的文件。确保设置了文件系统权限,以便只有拥有用户的用户才能读取它(0600)。
[client]
host = localhost
user = username.
password = thepassword
socket = /var/run/mysqld/mysqld.sock
#database = mysql
由于您还标记了问题mysqldump,因此应查看此问题。
更新(2016-06-29)如果运行的是mysql 5.6.6或更高版本,则应查看mysql_config_editor工具,该工具可将凭据存储在加密文件中。感谢乔瓦尼向我提及这一点。
您可以使用该mysql_config_editor
实用程序将身份验证凭据存储在名为的加密登录路径文件中.mylogin.cnf
。
要创建一组新的凭据,请运行:
mysql_config_editor set --host=db.host.org --user=dbuser --password
并在出现提示时输入密码。
这会将您的身份验证凭据存储在默认client
登录路径中。
您可以通过指定其他--login-path
选项来存储多个身份验证凭据:
mysql_config_editor set --login-path=db2 --host=db2.host.org --user=dbuser --password
默认情况下,mysql
客户端从其他选项文件中读取[client]
和[mysql]
组,因此它也从登录路径文件中读取它们。通过一个--login-path
选项,客户端程序还可以从登录路径文件中读取命名的登录路径。从其他选项文件读取的选项组保持不变。考虑以下命令:
mysql --login-path=db2
该mysql
客户端读取[client]
和[mysql]
其他选项的文件,并[client]
,[mysql]
以及[mypath]
从登录路径文件。
要打印出存储在配置文件中的所有信息,请运行:
mysql_config_editor print --all=true
有关该实用程序的更多信息,请参见“ mysql_config_editor-MySQL配置实用程序”。
我们绝对不能假装.mylogin.cnf是安全的,因为我可以my_print_defaults -s [use your login-path]
使该密码以纯文本形式显示。这就是MariaDB不支持这种“默默无闻的安全性”方法的原因。