zoukankan      html  css  js  c++  java
  • Ansible Roles编排实现Mysql5.6角色的部署

    [root@centos8-1 ]$mkdir  -pv /data/ansible/roles/mysql/files/ ##创建目录

    [root@centos8-1 roles]$vim /data/ansible/roles/mysql/files/my.cnf  ##准备好my.cnf配置文件

    [mysqld]
    socket=/tmp/mysql.sock
    user=mysql
    symbolic-links=0
    datadir=/data/mysql
    innodb_file_per_table=1
    log-bin
    pid-file=/data/mysql/mysqld.pid

    [client]
    port=3306
    socket=/tmp/mysql.sock

    [mysqld_safe]
    log-error=/var/log/mysqld.log

    [root@centos8-1 roles]$vim /data/ansible/roles/mysql/files/secure_mysql.sh

    #!/bin/bash
    #
    #********************************************************************
    #Author: zhangtianze
    #QQ: 1185673631
    #Date: 2020-08-16
    #FileName: /data/ansible/roles/mysql/files/secure_mysql.sh
    #URL: http://www.zhangtianze.com
    #Description: The test script
    #Copyright (C): 2020 All rights reserved
    #********************************************************************
    /usr/local/mysql/bin/mysql_secure_installation <<EOF

    y
    tianze
    tianze
    y
    y
    y
    y
    EOF

    [root@centos8-1 roles]$chmod +x /data/ansible/roles/mysql/files/secure_mysql.sh

    [root@centos8-1 files]$pwd
    /data/ansible/roles/mysql/files
    [root@centos8-1 files]$ls    ## 准备好mysql二进制安装包,可也从mysql官网download
    my.cnf mysql-5.6.48-linux-glibc2.12-x86_64.tar.gz secure_mysql.sh

    [root@centos8-1 mysql]$pwd
    /data/ansible/roles/mysql
    [root@centos8-1 mysql]$mkdir tasks

    [root@centos8-1 roles]$vim mysql/tasks/main.yml

    - include: install.ym
    - include: install.yml
    - include: group.yml
    - include: user.yml
    - include: unarchive.yml
    - include: link.yml
    - include: data.yml
    - include: config.yml
    - include: service.yml
    - include: path.yml
    - include: secure.yml

    [root@centos8-1 tasks]$vim install.yml

    - name: install package
    yum: name=libaio,perl-Data-Dumper,perl-Getopt-Long

    [root@centos8-1 tasks]$vim group.yml

    - name: create mysql group
    group: name=mysql gid=306

    [root@centos8-1 tasks]$vim user.yml

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

    [root@centos8-1 tasks]$vim unarchive.yml

    - name: copy tar to remote host and file mode
    unarchive: src=mysql-5.6.48-linux-glibc2.12-x86_64.tar.gz dest=/usr/local/ owner=root group=root

    [root@centos8-1 tasks]$vim link.yml

    - name: mkdir /usr/local/mysql
    file: src=/usr/local/mysql-5.6.48-linux-glibc2.12-x86_64 dest=/usr/local/mysql state=link

    [root@centos8-1 tasks]$vim data.yml

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

    [root@centos8-1 tasks]$vim config.yml

    - name: config my.cnf
    copy: src=my.cnf dest/etc/my.cnf

    [root@centos8-1 tasks]$vim service.yml

    - name: service script
    shell: /bin/cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld;chkconfig --add mysqld;chkconfig mysqld on;/etc/init.d/mysqld start

    [root@centos8-1 tasks]$vim path.yml

    - name: PATH variable
    copy: content='PATH=/usr/local/mysql/bin:$PATH' dest=/etc/profile.d/mysql.sh

    [root@centos8-1 tasks]$vim secure.yml

    - name: secure script
    script: secure_mysql.sh

    [root@centos8-1 ansible]$tree roles/mysql/
    roles/mysql/
    ├── files
    │   ├── my.cnf
    │   ├── mysql-5.6.48-linux-glibc2.12-x86_64.tar.gz
    │   └── secure_mysql.sh
    └── tasks
    ├── config.yml
    ├── data.yml
    ├── group.yml
    ├── install.yml
    ├── link.yml
    ├── main.yml
    ├── path.yml
    ├── secure.yml
    ├── service.yml
    ├── unarchive.yml
    └── user.yml

    2 directories, 14 files

    [root@centos8-1 ansible]$pwd
    /data/ansible
    [root@centos8-1 ansible]$vim mysql_roles.yml

    - hosts: db
    remote_user: root

    roles:
    - {role: mysql,tags: ["mysql","db"]}
    - {role: nginx,tage: ["nginx","web"]}

    [root@centos8-1 ansible]$ansible-playbook  mysql_roles.yml 

     

    把生命浪费在美好的事物上
  • 相关阅读:
    docker搭建mongodb
    mongodb的搭建
    Mysql错误:Ignoring query to other database解决方法
    BZOJ4567:[SCOI2016]背单词——题解
    BZOJ4570:[SCOI2016]妖怪——题解
    BZOJ4753:[JSOI2016]最佳团体——题解
    BZOJ1853:[SCOI2010]幸运数字 & BZOJ2393:Cirno的完美算数教室——题解
    LOJ6388:[THUPC2018]赛艇——题解
    BZOJ5217:[Lydsy2017省队十连测]航海舰队——题解
    BZOJ4259:残缺的字符串——题解
  • 原文地址:https://www.cnblogs.com/tz66/p/13512748.html
Copyright © 2011-2022 走看看