zoukankan      html  css  js  c++  java
  • 使用playbook实现一键部署mysql数据库

    环境

    主机名 安装服务 wan lan
    db01 mariadb 10.0.0.51 172.16.1.51

    流程分析

    1.安装ansible
    2.优化ansible
    3.推送公钥
    4.开启防火墙
    5.开启80 443 873 nfs等端口和服务白名单
    6.关闭selinux
    7.创建同一的用户
    	1.安装数据库
    	2.启动数据库
    	3.创建数据库用户
    	4.创建数据库
    	
    

    主机清单

    [root@m01 ~]# vim /etc/ansible/hosts
    [db_group]
    db01 ansible_ssh_host=172.16.1.51 asible_ssh_user=root ansible_ssh_port=22
    

    导出数据库数据

    1.备份db01上的数据库
    mysqldump -uroot -p'1' -A wp > /root/wp.sql
    
    2.将web01上备份的数据库拷贝至m01服务器上
    scp wp.sql  root@172.16.1.61:/root/ansible/lb/
    

    yml

    - hosts: all
      tasks:
        - name: install mariadb
          yum:
            name: mariadb-server
            state: present
          when: ansible_fqdn is match 'lb*'
            
        - name: start mariadb-server
          systemd:
            name: mariadb-server
            state: started
            enabled: yes
          when: ansible_fqdn is match 'lb*'
    
        - name: grant mysql user
          mysql_user:
          	#login_host: "localhost"
          	#login_user: "root"
         	#login_password: "123"
         	login_port: "3306"
          	name: "ty"
          	password: "123"
          	host: "%"
          	priv: "*.*:ALL,GRANT"
          	state: "present"
          when: ansible_fqdn is match 'lb*'
    
        - name: create a database
          mysql_db:
            #login_host: "127.0.0.1"
            #login_user: "root"
            #login_password: "123"
            login_port: "3306"
            name: "wp"
            encoding: "utf8"
            state: "present"   
          when: ansible_fqdn is match 'lb*'
            
        - name: copy wp.sql
          copy:
            src: "/root/ansible/lb/wp.sql"
            dest: "/root/"
          when: ansible_fqdn is match 'lb*'
    
        - name: import a database
          mysql_db:
            login_host: "127.0.0.1"
            login_user: "root"
            login_port: "3306"
            name: "wp"
            target: "/root/wp.sql"
            state: "import"
          when: ansible_fqdn is match 'lb*'
    

    执行

    1.执行base.yml
    [root@m01 ~]# ansible-playbook ansible/base.yml 
    
    2.执行rsync.yml
    [root@m01 ~]# ansible-playbook ansible/nfs/nfs.yml -i /root/ansible/lb/hosts
    
  • 相关阅读:
    poj2263
    poj2304
    低调是态度,也是智慧
    股票操作記錄2
    治病記錄(2013年)
    过年了
    治病記錄
    近段時間學習記錄
    新的一年
    關于設計
  • 原文地址:https://www.cnblogs.com/syy1757528181/p/13122283.html
Copyright © 2011-2022 走看看