精华内容
下载资源
问答
  • Ansible数据库迁移工具(ADMT) 工具说明 开发Ansible数据库迁移工具(ADMT)实用程序的目的是提供一种快速简便的方法,无需设置DataGuard,即可将Oracle Cloud Infrastructure Classic(OCI-C)数据库迁移到Oracle ...
  • ansible操作数据库 如今,当您为Linux机器打补丁时,我可以原谅您问:“这有多难?” 当然, yum更新-y将在一瞬间为您排序。 但是对于我们中使用少数机器的人来说,并不是那么简单。 有时,更新可能会在许多...

    ansible操作数据库

    如今,当您为Linux机器打补丁时,我可以原谅您问:“这有多难?” 当然, yum更新-y将在一瞬间为您排序。

    Animation of updating Linux

    但是对于我们中使用少数机器的人来说,并不是那么简单。 有时,更新可能会在许多计算机上造成意想不到的后果,而您却想知道如何将事情恢复原状。 或者您可能会想:“我应该自己应用关键补丁并为自己省去很多麻烦吗?”

    过去面对这些挑战使我建立了一种选择所需更新并使它们的应用程序自动化的方法。

    灵活的想法

    以下是该过程的概述:

    Overview of the Ansible patch process

    现在,对机器进行修补可归结为1)所预订的存储库和2)进行“修补”。 通过使用变量来控制订阅和补丁许可,我们不需要篡改逻辑(剧本)。 我们只需要更改数据。

    这是一个满足两个要求的Ansible角色示例 。 它管理存储库订阅,并具有一个简单变量来控制运行patch命令。

    
       
    ---
    # tasks file for patching

    - name
    : Include OS version specific differences
      include_vars
    : "{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml"

    - name
    : Ensure Yum repositories are configured
      template
    :
        src
    : template.repo.j2
        dest
    : "/etc/yum.repos.d/{{ item.label }}.repo"
        owner
    : root
        group
    : root
        mode
    : 0644
      when
    : patching_repos is defined
      loop
    : "{{ patching_repos }}"
      notify
    : patching-clean-metadata

    - meta
    : flush_handlers

    - name
    : Ensure OS shipped yum repo configs are absent
      file
    :
        path
    : "/etc/yum.repos.d/{{ patching_default_repo_def }}"
        state
    : absent

    # add flexibility of repos here
    - name
    : Patch this host
      shell
    : 'yum update -y'
      args
    :
        warn
    : false
      when
    : patchme|bool
      register
    : result
      changed_when
    : "'No packages marked for update' not in result.stdout"

    情境

    在我们虚拟的,大型的,全球分散的环境中(由四个主机组成),我们具有:

    • 两台Web服务器
    • 两台数据库服务器
    • 包含每种服务器类型之一的应用程序

    好的,因此这台机器不是“企业级”的,而是消除了计数,并将环境想象成多个,分层的,地理位置分散的应用程序。 我们想要跨服务器类型,应用程序堆栈,地理位置或整个资产修补堆栈的元素。

    Example patch groups

    仅使用对变量的更改,我们能否实现这种灵活性? 有点。 Ansible的默认哈希行为是覆盖。 在我们的示例中, db1web1主机的patching_repos变量被覆盖,因为它们稍后出现在清单中。 嗯,有点泡菜 有两种方法可以解决此问题:

    1. 多个库存文件
    2. 改变行为

    我选择第一是因为它保持清晰度。 一旦开始合并变量,就很难找到哈希在何处出现以及如何将其组合在一起。 使用默认行为可以保持清晰,这是我鼓励您坚持自己的理智的方法。

    然后继续吧

    让我们运行该剧本,仅关注数据库服务器。

    您是否注意到最后一步- 修补此主机-说 跳过了 ? 那是因为我们没有设置控制变量来进行修补。 我们要做的是准备好存储库订阅。

    因此,让我们再次运行该播放,将其限制在Web服务器上,并告诉它进行修补。 我使用详细输出运行了此示例,因此您可以看到yum更新正在发生。

    修补应用程序堆栈需要另一个清单文件,如上所述。 让我们重新播放一下。

    在欧洲地区修补主机与应用程序堆栈的方案相同,因此需要另一个清单文件。

    现在,所有存储库订阅都已配置完毕,让我们为整个资产打补丁。 请注意, app1emea组在这里不需要清单-它们仅用于分隔存储库定义和设置。 现在, yum update -y修补所有内容。 如果您不想捕获这些存储库,则可以将它们配置为enabled = 0

    结论

    灵活性来自我们如何对主机进行分组。 由于默认的哈希行为,我们需要考虑重叠问题,至少在我看来,最简单的方法是使用单独的清单。

    关于存储库设置,我确定您已经对自己说:“嗯,但是挑选樱桃并不是那么简单!” 此模型有额外的开销,需要下载修补程序,测试它们是否可以协同工作以及将它们与存储库中的依赖项捆绑在一起。 使用补充工具,您可以自动化该过程,并且在大型环境中,您必须这样做。

    我的一部分被吸引到只应用完整补丁集作为一种更简单的方法。 跳过挑剔的部分,并将完整的修补程序应用于“标准构建”。 我已经看到这种方法适用于具有强制性季度更新的Unix和Windows领域。

    我很想听听您在修补制度方面的经验,以及在此处,下面的评论中或通过Twitter提出的方法。

    翻译自: https://opensource.com/article/19/6/patching-systems-ansible

    ansible操作数据库

    展开全文
  • 利用Ansible模块建立数据库用户的步骤: 过滤相关模块并查看模块用处 [westos@server1 ansible]$ ansible-doc -l | grep mysql mysql_replication Manage MySQL replication mysql_user ----->此模块可以用来...

    利用Ansible模块建立数据库用户的步骤:

    过滤相关模块并查看模块用处

    [westos@server1 ansible]$ ansible-doc -l | grep mysql
    
    mysql_replication                                             Manage MySQL replication                                   
    mysql_user ----->此模块可以用来建立数据库用户                                               Adds or removes a user from a MySQL database    
    

    查看模块用法

    [westos@server1 ansible]$ ansible-doc mysql_user 
    
    EXAMPLES:  会有一些例子
    
    
    - name: Removes anonymous user account for localhost
      mysql_user:
        name: ''
        host: localhost
        state: absent
    
    - name: Removes all anonymous user accounts
      mysql_user:
        name: ''
        host_all: yes
        state: absent
    
    - name: Create database user with name 'bob' and password '12345' with all database privileges
      mysql_user:
        name: bob
        password: 12345
        priv: '*.*:ALL'
        state: present
    

    安装mariadb数据库

    ansible test -m dnf -a “name=mariadb-server state=latest”

    启动数据库

    ansible test -m service -a "name=mariadb state=started "

    安装python3中关于mysql的组件

    [westos@server1 ansible]$ ansible test -m dnf -a "name=python3-PyMySQL.noarch " 
    172.25.4.2 | CHANGED => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/libexec/platform-python"
        },
        "changed": true,
        "msg": "",
        "rc": 0,
        "results": [
            "Installed: python3-PyMySQL-0.8.0-10.module+el8.1.0+3334+5cb623d7.noarch"
        ]
    }
    

    创建数据库用户

    [westos@server1 ansible]$ ansible test -m mysql_user -a "name=westos password=westos priv='*.*:SELECT' state=present"
    [WARNING]: Module did not set no_log for update_password
    172.25.4.2 | CHANGED => {
        "ansible_facts": {
            "discovered_interpreter_python": "/usr/libexec/platform-python"
        },
        "changed": true,
        "msg": "User added",
        "user": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
    }
    

    rpm 安装的时侯 --script 危害最大

    展开全文
  • ansible操作数据库 十一月的网上漫游带来了一些有趣的Ansible故事。 就像Greg Sutcliffe在下面链接的博客中所做的那样,通过数据探索Ansible开发非常有趣。 在本月的YouTube上,我们发现了一些非常有趣的演讲。 继续...

    ansible操作数据库

    十一月的网上漫游带来了一些有趣的Ansible故事。 就像Greg Sutcliffe在下面链接的博客中所做的那样,通过数据探索Ansible开发非常有趣。 在本月的YouTube上,我们发现了一些非常有趣的演讲。 继续阅读以了解它们。

    如果您在旅途中发现一个有趣的Ansible故事,请通过Twitter上的Mark发送链接给我们,Ansible社区团队将为您推荐最佳的作品。

    文章

    数据科学,业务流程和Ansible配置。 折衷的吧?

    Ansible社区团队的数据科学家 Greg Sutcliffe一直在研究Ansible模块贡献结构

    DigitalOcean上的Ansible,Nginx,Certbot和EasyDNS中, Doug Bridgens演示了Ansible作为协调器。

    Keerthi Chinthaguntla撰写了有关配置Ansible的内容,以确保安装安全整洁。

    影片

    在本月的YouTube上 ,我们发现了有关安全性和使用Ansible简化其他工具的有趣话题:

    如何在RHEL8上安装Ansible

    使用Ansible 自动化系统合规性

    Brian J. Atkisson在LISA19上发表了与Ansible一起拉木偶弦的演讲。

    聚会

    在过去的一个月中,瑞士伯尔尼的亚特兰大和奥地利的维也纳看到了志同道合的人:

    亚特兰大在AnsibleFest之后进行了小组讨论。

    五十二人参加了第二次伯尔尼聚会。 会谈包括物联网,Terraform + Ansible 和 Ansible集合

    维也纳聚会上 ,共有31人签约收听了Ansible 最佳实践。

    本月快乐的人

    找到了您希望我们下个月分享的有趣东西? 请给我一个消息在Twitter上与链接,请!

    翻译自: https://opensource.com/article/19/12/ansible-news-edition-five

    ansible操作数据库

    展开全文
  • 使用Ansible的Oracle Database 19c 此设置将完成几件事= 1. Create VirtualBox with Oracle Enterprise Linux 7 using Vagrant 2. Install Oracle Database 19c Single Instance 3. Create CDB and PDB 注意:请...
  • 通过ansible简单对数据库主机检查和数据库表空间的检查,前提数据库主机有统一的用户名和密码. 运维环境:rhel 7.2,ansible 1.9 数据库环境:Oracle 11.2.0.4, Suse ...
       通过ansible简单对数据库主机检查和数据库表空间的检查,前提数据库主机有统一的用户名和密码.

     运维环境: rhel 7.2, ansible 1.9
     数据库环境:Oracle 11.2.0.4, Suse 11sp4,统一用户是Oracle和usercs
    ansible配置文件/etc/ansible/ansible.cfg,否则在运行ansible时需要制定host位置
    --配置host组
    [root@DBAMONITOR usercs]# more /ansible/hosts 
    [Suse]
    192.168.15.21
    192.168.15.22
    192.168.15.46
    192.168.15.47


    --简单测试
    [root@DBAMONITOR .ssh]# ansible Suse -m ping -u usercs -k
    SSH password: 
    192.168.15.22 | success >> {
        "changed": false, 
        "ping": "pong"
    }


    192.168.15.46 | success >> {
        "changed": false, 
        "ping": "pong"
    }


    192.168.15.47 | success >> {
        "changed": false, 
        "ping": "pong"
    }


    192.168.15.21 | success >> {
        "changed": false, 
        "ping": "pong"
    }


    --查看空间
    [root@DBAMONITOR .ssh]# ansible Suse -m command -a "df -hT"  -u usercs -k
    password:
    [root@DBAMONITOR .ssh]# ansible Suse -m command -a "ls -l /tmp" -u usercs -k
    password:
    --复制文件:
    [root@DBAMONITOR .ssh]# ansible Suse -m copy -a "src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg" -u usercs -k
    password:
    {"src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg owner=usercs group=usercs mode=0644" }


    --远程执行脚本
    ansible Suse -m shell -a "/tmp/rocketzhang_test.sh"
    password:
    --远程创建目录
    ansible Suse -m command -a "mkdir /home/oracle/scripts" -u oracle -k
    password:
    --配置脚本
    source ~/.profile
    sqlplus -S "/as sysdba"<<EOF


    set lin 200 pages 100
     select current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status from gv\$database;


    set pagesize 9999 
    set linesize 132 
    select
    a.tablespace_name,
    a.Total_mb,
    f.Free_mb,
    round(a.total_MB-f.free_mb,2) Used_mb,
    round((f.free_MB/a.total_MB)*100) "%_Free"
    from
    (select tablespace_name, sum(bytes/(1024*1024)) total_MB from dba_data_files group by tablespace_name) a,
    (select tablespace_name, round(sum(bytes/(1024*1024))) free_MB from dba_free_space group by tablespace_name) f
    WHERE a.tablespace_name = f.tablespace_name(+)
    order by "%_Free"
    /
    exit
    EOF


    --拷贝文件
    ansible Suse -m copy -a "src=/ansible/check_db.sh  dest=/home/oracle/scripts" -u oracle -k
    password:
    --执行脚本
    ansible Suse -m command -a "chmod +x /home/oracle/scripts/check_db.sh" -u oracle -k 
    password:
    ansible Suse -m shell -a "/home/oracle/scripts/check_db.sh" -u oracle -k
    password:

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24585765/viewspace-2152097/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/24585765/viewspace-2152097/

    展开全文
  • 创建一个mySQL数据库和用户,例如ansible_inv和ans 。 CREATE DATABASE ansible_inv; GRANT ALL PRIVILEGES ON ansible_inv.* TO 'ans'@'localhost' IDENTIFIED BY '123123'; FLUSH PRIVILEGES; QUIT; mysql -u ans...
  • #!/usr/bin/python # -*- coding:UTF-8 -*- import os import sys import commands import MySQLdb import json ...#获取全部的fact并以主机名为文件名存到某个...(status, output) = commands.getstatusoutput('ansible
  • MySQL主从安装部署

    2017-11-23 11:37:21
    MySQL主从安装部署 MySQL主从安装部署 MySQL主从安装部署
  • 一、前言 随着业务的飞速发展,数据库服务器量级飞速增长,比如Oracle、MySQL、Redis、MongoDB的使用更加普及,对数据库运维人员的要求也越来越高,构建一个真正好用的监控系统是一项艰巨的任务...Zabbix和Ansible分...
  • Ansible mysql_db模块

    千次阅读 2020-03-16 21:31:04
    Ansible mysql_db模块 mysql_db模块用于建立、删除、导入和导出数据库 1、建立数据库 state=“present” --- - hosts: mysql tasks: - name: create a database mysql_db: login_host: "localhost" login_user:...
  • ##1.ansible实现管理的方式## Ad-Hoc ##利用ansible命令直接完成管理,主要用于临时命令使用场景 playbook ##ansible脚本,主要用于大型项目场景,需要前期的规划 ##2.Ad-Hoc执行方式中如何获得帮助## ansible-...
  • ansible加密敏感数据

    2021-08-30 12:18:04
    加密敏感数据 案例 echo 123456 > data.txt #新建测试文件 ansible-vault encrypt data.txt #加密文件 cat data.txt ansible-vault view data.txt #查看加密文件 3.修改密码(rekey) 案例 //验证剧本 4.解密文件 ...
  • Ansible Ansible课程的一些示例剧本 用法 使用此命令执行临时命令。 ansible hostname -m modulename -a ' arguments ' 使用语法检查命令检查剧本中的语法。 ansible-playbook * playbookname.yml * --syntax-...
  • Ansible常用模块

    2018-10-24 18:31:33
    ansible模块命令 ping模块 测试与受控主机连通性 ansible all -m ping ansible 192.168.99.86 -m ping command模块 用于在远程主机上执行linux命令 ansible 192.168.99.86 -a ‘ls /tmp’ ansible 192.168.99.86 -a ...
  • ansible部署主从数据库

    2021-07-14 21:51:46
    1.ansible离线安装 ansible离线安装手册:https://blog.csdn.net/xzm5708796/article/details/89357434 # 下载安装包: [root@ansible ~]# tar -xzvf ansible-2.4-rpms.el7.tar.gz [root@ansible ~]# cd ansible-...
  • 10.0.0.18 1.#安装数据库 (必须和主节点同一版本) [root@localhost ~]# yum install -y mariadb-server 2.#修改配置文件 [root@localhost ~]# vim /etc/my.cnf.d/mariadb-server.cnf [mysqld] server_id=18 3.#...
  • Ansible模块,用于在mysql表中设置值或插入记录。 对于将配置存储在数据库中的Web应用程序很有用。 例如,icingaweb2需要将初始用户插入数据库。 install-wizard可以做到,但是Ansible想要自动安装;) 在Ansible ...
  • enix.postgresql 使用在UNIX主机上部署和配置上游发行版的。 要求 支持的目标: Debian 8“ Jessie” Debian 9“拉伸” 角色变量 几乎所有可用的默认值都预加载了这些角色。 您可以在主机/组变量,清单或播放中...
  • Ansible配置管理数据库 关于 Ansible-cmdb获取Ansible事实收集的输出,并将其转换为包含系统配置信息的静态HTML概述页面(和其他内容)。 它支持多种类型的输出(html,csv,sql等),并使用自定义数据扩展由...
  • 前言  Ansible是一款极其简单的IT自动化运维工具,基于...Ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是Ansible所运行的模块,Ansible只是提供一种框架。Ansible主要承担的工作包括...
  • ansible常用模块介绍

    2017-11-27 15:08:00
    [root@xuegod100 opt]# ansible -i hosts tomcatserver -m user -a 'createhome=yes home=/home/user2 password=123456 name=user2 shell=/bin/bash state=present' 3.删除用户 [root@xuegod100 opt]# ...
  • ansible-mongodb:部署mongodb数据库软件的Ansible角色
  • mariadb-ansible-galera-cluster:使用Ansible自动安装MariaDB Galera Cluster
  • # facts.get('ansible_distribution_version', None), # facts.get('ansible_system', None), # facts.get('ansible_kernel', None) # )) # con.commit() # except: # pass # class   ...
  • s塔 用于独立 3.x +的 建立 docker build --no-cache --squash -t ansible-tower:${TOWER_VERSION} . 跑 使用随机端口运行Ansible ...要保留Ansible Tower数据库,请创建一个数据容器: docker create -v /var/lib/po
  • 创建Ansible数据库和用户 Nginx的 安装 部署配置 为http和https配置firewalld PHP 安装 php70 php70-php-fpm php70-php-pecl-mysql 配置php-fpm 虚拟主机 创建.conf 设置反向代理vhost + ssl证书或 设置...
  • metabase-playbook:用于设置配置数据库环境的Ansible剧本
  • 但是lookup就能够解决这类难题,lookup即能够读取节点上文件系统的文件内容到ansible变量,也可以读取数据库中的内容 提示:本篇文章所使用的环境为centos-8.2基于ansible-2.8.0 搭建 具体环境搭建,请参考:...
  • 从MySQL数据库添加或删除用户。 要求(在执行模块的主机上) MySQLdb的 选项 参数需要默认选择注释 append_privs (1.4加入) no no yes no 将priv定义的权限...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,607
精华内容 4,242
关键字:

Ansible数据库