【问题标题】:mysql_grants.present fails to execute in salt-stackmysql_grants.present 无法在 salt-stack 中执行
【发布时间】:2015-07-28 19:08:15
【问题描述】:

我有以下状态公式:

crm01.dbperms2:
  mysql_grant.present:
    - grant: all privileges
    - database: '*.*'
    - user: tester2
    - host: 10.1.0.2

当我执行 state.sls 时出现以下错误:

   ID: crm01.dbperms2
    Function: mysql_grants.present
      Result: False
     Comment: Failed to execute: "GRANT all privileges ON *.* TO tester2@10.1.0.2" (MySQL Error 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES))
     Changes:  

不过,如果我手动添加授权,之后执行 state.sls 时不会出错:

   ID: crm01.dbperms1
    Function: mysql_grants.present
      Result: True
     Comment: Grant all privileges on *.* to bup@10.1.0.2 is already present
     Changes:  

我不知道我做错了什么。 有没有人知道如何通过 salt-stack 正确地向 mysql 中的用户授予权限?

TIA

【问题讨论】:

    标签: salt-stack


    【解决方案1】:

    我遇到了类似的问题,发现我需要添加连接凭据 - 在这种情况下,我使用了我的 root 登录。我还看到了一些人们指定 connection_host 的情况,但我似乎不需要它。

    crm01.dbperms2:
        mysql_grant.present:
            - grant: all privileges
            - database: '*.*'
            - user: tester2
            - host: 10.1.0.2
            - connection_user: root
            - connection_pass: {{pillar.root_db_password}}
    

    【讨论】:

    • 谢谢。添加 connection_host 为我做到了!
    【解决方案2】:

    我知道这是一个老问题,但我是这样做的。

    我添加了一个带有 mysql 用户和密码的 .my.cnf 文件。这可以通过将文件放在主目录中为任何用户完成。

    /root/.my.cnf:
      file:
        - managed
        - source: salt://files/mysql/root-my.cnf
        - user: root
        - group: root
        - mode: 0600
        - template: jinja
    

    文件的内容看起来像这样。

    [client]
      user=root # any user having grant permission
      password = {{ pillar['mysql']['server']['root_password'] }} # Password stored in pillar file.
    

    在 mysql 支柱文件(任何支柱文件)中添加以下行。这告诉 minion 从哪里读取 mysql 连接所需的参数,即 un、pw、主机、端口等。

    mysql.default_file: /root/.my.cnf
    

    现在您可以使用任何需要用户权限的 mysql 模块,包括 mysql_database, mysql_user, mysql.grant

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多