MySQL용 Vault 사용 - 'root'@'localhost' 사용자에 대한 액세스가 거부되었습니다.

MySQL용 Vault 사용 - '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을 다시 시작하면 됩니다!

관련 정보