如何用ansible roles角色安装mysql
时间: 2024-05-11 08:20:10 浏览: 142
安装MySQL可以通过Ansible的Roles角色来实现。以下是一个简单的MySQL安装示例:
1. 首先,创建一个新的Ansible Role。可以使用以下命令来创建一个名为mysql的新Role:
```
$ ansible-galaxy init mysql
```
2. 接下来,在vars/main.yml文件中定义需要的变量,如MySQL版本、用户名和密码:
```
mysql_version: "5.7"
mysql_user: "root"
mysql_password: "password"
```
3. 编写tasks/main.yml文件,其中包括以下步骤:
```
- name: Install MySQL
apt: name=mysql-server state=present
- name: Start MySQL service
service: name=mysql state=started
- name: Secure MySQL installation
mysql_secure_installation:
login_user: "{{ mysql_user }}"
login_password: "{{ mysql_password }}"
validate_password_plugin: "{{ mysql_version < '5.7.6' }}"
change_root_password: yes
root_password: "{{ mysql_password }}"
remove_anonymous_users: yes
disallow_root_login_remote: yes
remove_test_database: yes
```
4. 在meta/main.yml文件中声明角色的依赖关系:
```
dependencies:
- { role: geerlingguy.mysql }
```
5. 最后,在playbook中使用这个Role:
```
- name: Install MySQL
hosts: all
become: true
roles:
- mysql
```
这个示例将在所有主机上安装MySQL,并使用定义的用户名和密码来配置MySQL服务。
阅读全文