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(うまくいきました)

リモートでログインしてみましたが、うまくいきました。何かがルートを保護している場合に備えて、非ルート ユーザーを作成してみましたが、これもうまくいきませんでした。Vault コマンド以外はすべて機能しますが、この問題の原因となる Vault のさらなる構成に関する参照が見つかりません。

Vault 側で何かが欠けているのでしょうか?

答え1

私の場合はMySql設定でした。

私がやったことは、my.cnfの「skip_name_resolve」をコメントアウトしたことです。

MySql を再起動すれば完了です!

関連情報