天天看点

Ansible-playbook批量安装MariaDB-10.3

Ansible-playbook批量安装MariaDB-10.3

准备:

MrariaDB10.3二进制包仓库:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1           

把二进制压缩包下载下来,解压放在files文件里

目录结构如下:

Ansible-playbook批量安装MariaDB-10.3
Ansible-playbook批量安装MariaDB-10.3

创建用户,组,家目录:

cat create_group.yml

- name: create group
  group: name=mysql system=yes gid=336           

cat create_user.yml

- name: create user
  user: name=mysql uid=336 group=mysql shell=/sbin/nologin system=yes create_home=no home=/data/mysql           

cat dir_home.yml

- name: mysql
  file: path=/data/mysql state=directory
- name: chown 
  shell: chown -R mysql:mysql /data/mysql           

cat install.yml

- name: install mariadb
  synchronize: src=files/mysql dest=/usr/local
- name: chown
  shell: chown -R root:root /usr/local/mysql           

cat dir_configre.yml

- name: create /etc/mysql
  file: path=/etc/mysql state=directory
- name: my.cnf
  template: src=my.cnf.j2 dest=/etc/mysql/my.cnf           

cat gen_db.yml

- name: gendb
  shell: chdir=/usr/local/mysql ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql
- name: chown
  shell: chown -R mysql:mysql /data/mysql           

cat service.yml

- name: init.d/mysqld
  copy: src=files/mysql/support-files/mysql.server dest=/etc/rc.d/init.d/mysqld mode=755
- name: enabled
  shell: chkconfig --add mysqld
- name: start mysqld
  shell: service mysqld start           

cat add_path.yml

- name: add PATH
  shell: echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh           

cat secure.yml

- name: trans secure.txt
  copy: src=files/secure.txt dest=/usr/local/mysql/bin
- name: chdir
  shell: chdir=/usr/local/mysql/bin ./mysql_secure_installation < secure.txt           

cat secure.txt

y
centos
centos
y
y
y
y           
- include: add_path.yml                                                                                                                                       
- include: create_group.yml
- include: create_user.yml
- include: dir_home.yml
- include: install.yml
- include: dir_configre.yml
- include: gen_db.yml
- include: service.yml
- include: add_path.yml
- include: secure.yml            
---
- hosts: 172.22.5.6
  remote_user: root

  roles:
     - role: mysql           

继续阅读