如何为MySQL创建凭证文件
时间:2020-01-09 10:39:03 来源:igfitidea点击:
每次访问MySQL的控制台时,都必须输入用户名和密码,这很痛苦。
本教程将向我们展示如何为MySQL创建凭证文件。凭证文件允许我们存储敏感的用户名和密码,以允许自动访问MySQL。
创建一个凭证文件
凭证文件语法类似于MySQL的配置文件,这是因为它是一个配置文件。我们在此文件中放置的任何参数也可以添加到my.cnf中。
要添加凭据,我们首先告诉MySQL将在哪里应用它们。例如,我们可以将其设置为[mysql]以设置MySQL客户端的凭据。在我们的示例中,我们将它们分配给[mysqldump],以便该工具可以使用它们。
[mysqldump] user=<username> password=<password>
- 新建一个目录来存储凭据文件。
mkdir ~/.mysql
- 通过仅授予帐户访问权限来确保目录权限适当。
chmod 0700 .mysql
- 在新目录中创建配置文件。
touch mysqldump.cnf
- 添加以下行,替换值以适合环境。
[mysqldump] user=backup_operator password=Faav;$a3q5g
- 更改文件权限以仅允许对帐户进行只读访问。
chmod 0400 ~/.mysql/mysqldump.cnf
使用凭证文件
现在我们已经创建了凭据文件,我们不再需要在命令行中输入用户名或者密码。当使用脚本来自动化我们的作品时,这更加有益,因为我们不再需要在其中放置敏感信息。
要使用凭证文件,请在MySQL命令中使用defaults-extra-file标志。例如,要使用凭据文件访问MySQL控制台,请执行以下操作:
mysqldump --defaults-extra-file=~/.mysql/mysqldump.cnf
加密凭证
限制对凭据的访问是保护信息的一个好步骤。不幸的是,将信息保留在纯文本文件中会带来很多风险。如果攻击者能够使用漏洞为自己授予更高的特权,则他们将能够查看信息。
为了进一步保护我们的凭据,MySQL 5.6引入了一种在存储的配置文件中对其进行加密的方法。要使用存储的凭据,我们只需要告诉MySQL要使用哪个配置文件即可。
创建配置文件
设置凭据并将其存储在配置文件下的命令是mysql_config_editor。
- 执行以下命令以在名为"备份"的配置文件下设置用户名和密码。
mysql_config_editor set --login-path=backups --host=localhost --user=backupops --password
- 出现提示时,输入密码。
使用配置文件
要将安全凭据与MySQL,mysqldump或者其他mysql工具一起使用,只需指定配置文件即可。在我们的示例中,我们使用备份配置文件下存储的凭据。
mysql --login-path=backups