我似乎在使用 Ansible 并创建用户并为其设置远程权限时遇到了问题。我正在尝试创建一个通过单独的 API 服务器远程访问特定数据库服务器的用户。
mysql_user: login_user=root login_password=password name=sampleUser 密码=password priv=sampleDatabase.'192.168.33.8':ALL state=present
当我执行 ...priv=sampleDatabase.*:All... 时,所有事情都会正常工作
Ansible 在控制台中抛出的错误似乎导致格式错误,如下所示:
_mysql_exceptions.ProgrammingError: (1064, "您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本对应的手册,以了解在 '.168.33.8 TO 'sampleDatabase'@ 附近使用的正确语法'localhost'' 在第 1 行”)
我可以确认在没有 Ansible 的情况下在 mysql 控制台中手动执行相同的相同功能。
最佳答案
我在使用此模块时遇到了类似的问题,我使用的完整命令是
- name: Create mysql user
mysql_user:
login_password={{ root_mysql_password }}
name={{ mysql_user }}
password={{ mysql_password }}
priv={{ mysql_db }}.*:ALL
host={{ remote_host_ip }}
我也在我的 vars 文件中使用了
远程主机 IP: %
但这可能是一个安全漏洞
关于mysql - Ansible 和 MySQL 远程权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24666949/