使用 Vault for MySQL - 用户“root”@“localhost”的访问被拒绝

使用 Vault for MySQL - 用户“root”@“localhost”的访问被拒绝

我一直在遵循 Vault 教程和文档来使用 MySQL 进行设置,但是却遇到了重大障碍。

文档:https://www.vaultproject.io/docs/secrets/databases/mysql-maria.html

我使用 mysql_secure_installation 在 CentOS 7 上安装并配置了 MySQL(尝试了 8 和 5.6),但没有禁用远程登录。尽管我在同一台服务器上运行了 Vault 服务器和 MySQL。

当我通过以下方式登录时:mysql -u root -p,它可以正常登录。但是当我运行此命令时:

     plugin_name=mysql-database-plugin \
     connection_url="{{username}}:{{password}}@tcp(127.0.0.1:3306)/" \
     allowed_roles="mysqlrole" \
     username="root" \
     password="password-here"

它失败:


URL: PUT http://127.0.0.1:8200/v1/database/config/my-mysql-database
Code: 400. Errors:

* error creating database object: error verifying connection: Error 1045: Access denied for user 'root'@'localhost' (using password: YES)

我尝试过类似的事情: GRANT all privileges on *.* to 'root'@'%' identified by 'your-password'

我已经尝试测试登录mysql -u root -p -P 3306 -h 127.0.0.1(有效)

我尝试过远程登录,成功了。我尝试过创建一个非 root 用户,以防某些东西保护 root,但同样失败了。除了 Vault 命令之外,其他一切都正常,但我找不到任何关于会导致此问题的 Vault 进一步配置的参考。

我是否遗漏了 Vault 方面的某些内容?

答案1

就我而言,它是 MySql 设置。

我所做的是在 my.cnf 中注释掉“skip_name_resolve”

重新启动 MySql,一切就绪!

相关内容