Print
카테고리: [ MariaDB ]
조회수: 3337

 

ansible을 사용해 yaml로 mariadb를 설치하고 기본 보안을 적용하고 DB를 생성하는 yaml 샘플입니다. 
제가 테스트한 버전은 CentOS7입니다.
ansible을 설치하고 아래 example을 .yml파일로 만들어 서버에 두시고 실행시키면 mariadb가 DB까지 생성이 됩니다.
 
example > 
---
  - name: Install mariadb
    yum: 
      name: mariadb-server
      state: present
 
  - name: Start the service 
    systemd: 
      name: mariadb
      state: started
      enabled: yes    
 
  - name: Adds Python MySQL support on RedHat/CentOS
    yum: name=MySQL-python state=present
    when: ansible_os_family == 'RedHat'
 
  - name: Sets the root password 
    mysql_user: 
      login_user: root 
      login_password: "rootpw" 
      user: root 
      password: "rootpw" 
      host: localhost
 
  - name: Deletes anonymous MySQL server user 
    mysql_user:
      login_user: root 
      login_password: "rootpw"     
      name: ''
      host_all: yes
      state: absent 
  - name: Secures the MySQL root user for IPV6 localhost (::1)
    mysql_user: 
      login_user: root 
      login_password: "rootpw" 
      user: root 
      password: "rootpw"
      host: "::1"
  - name: Secures the MySQL root user for IPV4 localhost (127.0.0.1)
    mysql_user: 
      login_user: root 
      login_password: "rootpw" 
      user: root 
      password: "rootpw"
      host: "127.0.0.1"
  - name: Secures the MySQL root user for localhost domain (localhost)
    mysql_user: 
      login_user: root 
      login_password: "rootpw" 
      user: root 
      password: "rootpw"
      host: "localhost"      
  - name: Secures the MySQL root user for server_hostname domain
    mysql_user: 
      login_user: root 
      login_password: "rootpw" 
      user: root 
      password: "rootpw"
      host: "{{ ansible_fqdn }}"    
  - name: Removes the MySQL test database
    mysql_db: 
      login_user: root 
      login_password: "rootpw" 
      db: test 
      state: absent
 
  - name: Create database user with name 'dbname' and password 'dbpw' with all database privileges
    mysql_user:  
      login_user: root 
      login_password: "rootpw"   
      name: dbname
      password: dbpw
      priv: '*.*:ALL'
      state: present