• [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
    系统化运维博客
  • 相关阅读:
    嵌入式GUI FTK介绍(7)主题
    嵌入式GUI FTK介绍(2)两个小应用程序
    嵌入式GUI FTK介绍(8)编译/运行PC模拟版本
    嵌入式GUI FTK介绍(5)在多平台上运行
    嵌入式GUI FTK介绍(4)脚本语言绑定
    嵌入式GUI FTK介绍(3)XML界面描述语言
    活动图
    ASP.NET程序中常用的三十三种代码
    Server的Transfer和Response的Redirect (转)
    .net 点击刷新验证码问题
  • 原文地址:https://www.cnblogs.com/nsthink-666/p/12744666.html
Copyright © 2020-2023  润新知