如何为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