美文网首页
ansible初始化mysql数据库

ansible初始化mysql数据库

作者: 被运维耽误的厨子 | 来源:发表于2020-04-03 10:20 被阅读0次

    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
    
    

    相关文章

      网友评论

          本文标题:ansible初始化mysql数据库

          本文链接:https://www.haomeiwen.com/subject/kyncphtx.html