Tenho seguido os tutoriais e a documentação do Vault para configurá-lo com o MySQL, mas me deparei com uma grande barreira.
Documentação:https://www.vaultproject.io/docs/secrets/databases/mysql-maria.html
Instalei e configurei o MySQL (tentei 8 e 5.6) no CentOS 7 usando mysql_secure_installation, mas não desativei o login remoto. Mesmo que eu tenha o servidor Vault e o MySQL rodando no mesmo servidor.
Quando eu faço login via: mysql -u root -p
, ele me conecta perfeitamente. Mas quando executo este comando:
plugin_name=mysql-database-plugin \
connection_url="{{username}}:{{password}}@tcp(127.0.0.1:3306)/" \
allowed_roles="mysqlrole" \
username="root" \
password="password-here"
Falha:
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)
Eu tentei coisas como:
GRANT all privileges on *.* to 'root'@'%' identified by 'your-password'
Eu tentei testar o login com mysql -u root -p -P 3306 -h 127.0.0.1
(que funciona)
Tentei fazer login remotamente e funcionou. Tentei criar um usuário não root caso algo estivesse protegendo o root e também não funcionasse. Tudo funciona, exceto o comando do Vault, mas não consigo encontrar nenhuma referência a configurações adicionais do Vault que possam causar esse problema.
Estou faltando alguma coisa no lado do Vault?
Responder1
No meu caso foram as configurações do MySql.
O que fiz foi comentar 'skip_name_resolve' em my.cnf
Reinicie o MySql e pronto!