Я следовал руководствам и документации Vault, чтобы настроить его с MySQL, но натолкнулся на серьезную стену.
Документация:https://www.vaultproject.io/docs/secrets/databases/mysql-maria.html
Я установил и настроил MySQL (пробовал 8 и 5.6) на CentOS 7 с помощью mysql_secure_installation, но не отключил удаленный вход. Хотя у меня есть сервер 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.
Я закомментировал «skip_name_resolve» в my.cnf
Перезапустите MySql и все готово!