[Ansible实战]-ansible初始化mysql数据库
0.目录结构
$ tree mysql
mysql
├── files
│ └── web.sql
├── handlers
│ └── main.yml
├── tasks
│ └── main.yml
├── templates
│ ├── client.cnf.j2
│ ├── my.cnf.j2
│ ├── mysql-clients.cnf.j2
│ └── server.cnf.j2
└── vars
1.tasks内容
- name: 01-install
yum:
name: "{{ item }}"
state: installed
loop:
- MySQL-python
- mariadb
- mariadb-server
notify:
- remove_user
- remove_test
- set_password
- create_user
- name: 02-start
service:
name: mariadb
state: started
- name: 03-copy_conf
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
loop:
- { src: my.cnf.j2, dest: /etc/my.cnf }
- { src: client.cnf.j2, dest: /etc/my.cnf.d/client.cnf }
- { src: server.cnf.j2, dest: /etc/my.cnf.d/server.cnf }
- { src: mysql-clients.cnf.j2, dest: /etc/my.cnf.d/mysql-clients.cnf }
notify:
- restart_mysql
- name: 04-copy_sql
copy:
src: web.sql
dest: /tmp/web.sql
notify:
- import_sql
2.handlers内容
- name: remove_user
mysql_user:
name: ''
host_all: yes
state: absent
- name: remove_test
mysql_db:
name: test
state: absent
- name: set_password
mysql_user:
name: root
password: '123456'
- name: create_user
mysql_user:
login_user: root
login_password: '123456'
name: web
password: oldboy123
host: '172.16.1.%'
priv: '*.*:ALL,GRANT'
state: present
- name: restart_mysql
service:
name: mariadb
state: restarted
- name: import_sql
mysql_db:
login_user: root
login_password: '123456'
name: all
state: import
target: /tmp/web.sql
老男孩Linux教育欢迎咨询免费试听 联系方式: QQ:526195417
分类:
Ansible
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)