robertdebock.mysql

Ansible 角色 mysql

在您的系统上安装和配置 mysql。

GitHub GitLab 下载 版本
github gitlab downloads Version

示例剧本

这个例子来自 molecule/default/converge.yml,并在每次推送、拉取请求和发布时进行测试。

---
- name: Converge
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.mysql
      mysql_port: 3307
      mysql_databases:
        - name: my_db
          encoding: utf8
          collation: utf8_bin
      mysql_users:
        - name: my_user
          password: my_pass
          priv: "my_db.*:ALL"
          update_password: on_create

机器需要准备好。在 CI 中,这通过 molecule/default/prepare.yml 完成:

---
- name: Prepare
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: robertdebock.bootstrap

另请参见 完整解释和示例 以了解如何使用这些角色。

角色变量

变量的默认值在 defaults/main.yml 中设置:

---
# mysql 的默认配置文件

# mysql 应绑定的地址。
mysql_bind_address: "127.0.0.1"

# 监听的端口。
mysql_port: 3306

# 为 root 用户设置的密码。也存储在 my.cnf 中。
mysql_root_password: "s3Cur31t4."

# 缓冲池大小。
mysql_innodb_buffer_pool_size: 1G

# IO 容量。
mysql_innodb_io_capacity: 4000

# 您可以在这里设置 mysql(d) 选项。
# 因为这是一个列表,合并到另一个列表中会很困难。
# 这意味着您必须重新定义整个列表并附加
# 您的选项。
mysql_configuration_options:
  - option: bind-address
    section: mysqld
    value: "{{ mysql_bind_address }}"
  - option: port
    section: mysqld
    value: "{{ mysql_port }}"
  - option: socket
    section: mysqld
    value: "{{ mysql_socket }}"
  - section: mysqld
    option: innodb_buffer_pool_size
    value: "{{ mysql_innodb_buffer_pool_size }}"
  - section: mysqld
    option: innodb_io_capacity
    value: "{{ mysql_innodb_io_capacity }}"
  - section: mysqld
    option: log-bin-trust-function-creators
    value: "1"

需求

所用角色的状态

以下角色用于准备系统。您可以用另一种方式来准备您的系统。

要求 GitHub GitLab
robertdebock.bootstrap Build Status GitHub Build Status GitLab

上下文

此角色是许多兼容角色的一部分。有关更多信息,请查看 这些角色的文档

以下是相关角色的概述: dependencies

兼容性

此角色已经在这些 容器镜像 上测试过:

容器 标签
Debian bullseye
EL 9
Fedora 所有
Ubuntu noble, jammy

所需的 Ansible 最低版本为 2.12,测试已在以下版本上进行:

  • 先前的版本。
  • 当前版本。
  • 开发版本。

如果您发现问题,请在 GitHub 上注册。

许可证

Apache-2.0

作者信息

robertdebock

请考虑 资助我

关于项目

Install and configure mysql on your system.

安装
ansible-galaxy install robertdebock.mysql
许可证
apache-2.0
下载
284.9k
拥有者
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.