scl 启用 rh-mariadb102 bash 不适用于 Ansible playbook

Cou*_*t76 4 mariadb ansible software-collections

我是 stackoverflow 的新手...这似乎是一个与非常有趣的社区分享知识和寻找解决方案的好地方。

我对 Ansble 和“scl”“mysql_install_dir”命令有问题。

当我手动执行“scl enable rh-mariadb102 bash && mysql_install_dir ...”时,当我在服务器控制台中正确执行此操作时,它可以完美工作。

但是当我尝试在 Ansible 上构建任务时:

- name: "Execute mysql_install_db to prepare DB"
  shell: |
    scl enable rh-mariadb102 bash
    mysql_install_db --datadir=/data/{{ item.instance_name }}/db/mariadb102
  become_user: root
  with_items: "{{ vars_list }}"
Run Code Online (Sandbox Code Playgroud)

它返回错误:

“使用\“scl启用rh-mariadb102'服务...'\”调用”

这似乎 Ansible 不能很好地执行 scl enable 命令...或类似的命令。

以前有人被这个问题困扰过吗?

感谢您的帮助,并对英语不好表示歉意。

Flo*_*mer 7

scl命令打开一个子 shell,然后再次关闭它。像这样的东西应该有效:

- name: "Execute mysql_install_db to prepare DB"
  shell: |
    scl enable rh-mariadb102 -- mysql_install_db --datadir=/data/{{ item.instance_name }}/db/mariadb102
  become_user: root
  with_items: "{{ vars_list }}"
Run Code Online (Sandbox Code Playgroud)

也就是说,运行 下的实际命令scl enable