ansible安装mysql的playbook
时间: 2023-12-23 09:48:17 浏览: 107
以下是一个用于安装 MySQL 的 Ansible Playbook:
```
---
- name: Install MySQL
hosts: db
become: true
vars:
mysql_root_password: "{{ vault_mysql_root_password }}"
tasks:
- name: Install MySQL packages
apt:
name:
- mysql-server
- python3-mysqldb
state: present
- name: Copy MySQL configuration file
template:
src: mysql.cnf.j2
dest: /etc/mysql/mysql.conf.d/mysqld.cnf
owner: root
group: root
mode: '0644'
notify:
- restart mysql
- name: Create MySQL users and databases
mysql_user:
login_user: root
login_password: "{{ mysql_root_password }}"
name: "{{ item.name }}"
password: "{{ item.password }}"
state: present
loop:
- { name: "myuser", password: "mypassword" }
- { name: "mydb", password: "mypassword" }
handlers:
- name: restart mysql
service:
name: mysql
state: restarted
```
在这个 Playbook 中,我们首先定义了我们要在哪些主机上安装 MySQL(在这个例子中是 "db" 主机)以及我们要使用哪个用户进行安装(在这个例子中是 root 用户)。
我们还定义了一个变量 `mysql_root_password` 来存储 MySQL root 用户的密码。为了保护这个密码,在这里我们使用了 Ansible Vault 进行加密存储。
接下来的任务包括安装 MySQL 软件包、复制 MySQL 配置文件以及创建 MySQL 用户和数据库。最后,我们定义了一个处理程序来重启 MySQL 服务,以便使配置更改生效。
请注意,在这个 Playbook 中,我们使用了一个名为 mysql.cnf.j2 的模板文件来生成 MySQL 配置文件。如果您想使用这个 Playbook,您需要创建这个模板文件并将其放在与 Playbook 相同的目录中。
阅读全文