我一直在遵循 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 就可以了!