利用roles实现mysql的自动化安装

MySQL的安装与配置(8.0.32版本) 系统进入Choosing a Setup Type(选择安装类型)窗口,这里选择Custom(自定义安装类型),单击next按钮进入下一步。进入Accounts and Roles(账户和角色)窗口,输入两次正确的密码,这里设置密码为123456。单击Excute按钮,系统自动配置MySQL服务器,配置完成后,单击Finish按钮,完成服务器配置。 阅读详情
自动化安装mysql在这里插入图片描述

1#创建目录

[root@ansible ~]# mkdir /data/ansible/roles/mysql/{files,handles,tasks,templates}

[root@ansible ~]# tree /data/ansible/ /data/ansible/ └── roles
    ├── mysql
        ├── files
        ├── handlers
        ├── tasks
        └── templates

2#在files目录下存放的文件(共三个)

(1)mysql配置文件  
[root@ansible ~]#cat /data/ansible/roles/mysql/files/my.cnf
[mysql]
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

(2)安全加固脚本
[root@ansible ~]#cat /data/ansible/roles/mysql/files/secure_mysql.sh
#!/bin/bash
/usr/local/mysql/bin/mysql_secure_installation <<EOF

y
centos
centos
y
y
y
y
EOF

3)mysql安装包

[root@ansible ansible]# tree
.
├── mysql_roles.yml
├── role_httpd.yml
└── roles
    ├── mysql
    │   ├── files
    │   │   ├── my.cnf
    │   │   ├── mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz
    │   │   └── secure_mysql.sh
    │   ├── handlers
    │   ├── tasks
    │   │   ├── config.yml
    │   │   ├── data.yml
    │   │   ├── group.yml
    │   │   ├── install.yml
    │   │   ├── link.yml
    │   │   ├── main.yml
    │   │   ├── path.yml
    │   │   ├── secure.yml
    │   │   ├── service.yml
    │   │   ├── unarchive.yml
    │   │   └── user.yml
    │   └── templates

3#在tasks目录下
(1)主程序 定义运行的先后顺序

[root@ansible ~]#cat /data/ansible/roles/mysql/tasks/main.yml
- 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

(2)分别按顺序编写主程序列出的yml文件

[root@ansible ~]#cat /data/ansible/roles/mysql/tasks/install.yml
- name: install packages
  yum: name=libaio,perl-Data-Dumper,perl-Getopt-Long

[root@ansible ~]#cat /data/ansible/roles/mysql/tasks/group.yml
- name: create mysql group
  group: name=mysql gid=306

[root@ansible ~]#cat /data/ansible/roles/mysql/tasks/user.yml
- name: create mysql user
  user: name=mysql uid=306 group=mysql shell=/sbin/nologin system=yes create_home=no home=/data/mysql


[root@ansible ~]#cat /data/ansible/roles/mysql/tasks/unarchive.yml
- name: copy tar to remote host and file mode
  unarchive: src=mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz dest=/usr/local/ owner=root group=root

[root@ansible ~]#cat /data/ansible/roles/mysql/tasks/link.yml
- name: mkdir /usr/local/mysql
  file: src=/usr/local/mysql-5.6.46-linux-glibc2.12-x86_64 dest=/usr/local/mysql state=link

[root@ansible ~]#cat /data/ansible/roles/mysql/tasks/data.yml
- name: data dir
  shell: chdir=/usr/local/mysql/ ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql

[root@ansible ~]#cat /data/ansible/roles/mysql/tasks/config.yml
- name: config my.cnf
  copy: src=my.cnf dest=/etc/my.cnf

[root@ansible ~]#cat /data/ansible/roles/mysql/tasks/service.yml
- name: service script
  shell: /bin/cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld ; /etc/init.d/mysqld start;chkconfig --add mysqld;chkconfig mysqld on                        
                   拷贝启动项                                                     设置开机启动项            添加启动项             开启服务  
  tags: service    

[root@ansible ~]#cat /data/ansible/roles/mysql/tasks/path.yml
- name: PATH variable
  copy: content='PATH=/usr/local/mysql/bin:$PATH' dest=/etc/profile.d/mysql.sh

[root@ansible ~]#cat /data/ansible/roles/mysql/tasks/secure.yml
- name: secure script
  script: secure_mysql.s

(3)在roles平级目录创建roles.yml 文件

root@ansible ~]#cat /data/ansible/mysql_roles.yml
- hosts: appsrvs
  remote_user: root
  roles:
    - {role: mysql,tags: ["mysql","db"]}
                添加标签

(4)执行

[root@ansible ~]#ansible-playbook -t mysql /data/ansible/mysql_roles.yml
也可单独执行其中一个yml文件
[root@CENTOS8 ansible]# ansible-playbook -t service mysql_roles.yml
Ansible 进阶 - Roles 与 Inventory 的高效组织 Ansible进阶:Roles与Inventory高效管理摘要 Ansible Roles是预定义的标准化目录结构,用于组织特定功能的自动化内容,包含tasks、handlers、variables等组件,实现模块化和代码复用。通过ansible-galaxy工具可快速创建Role骨架,在Playbook中通过roles关键字调用。Inventory管理方面,静态Inventory适合固定环境,而动态Inventory通过脚本或插件从云平台等数据源实时获取主机信息,适用于动态基础设施。变量优先级遵循从具体到 阅读详情

相关推荐

利用角色roles上线wordpress项目

对于以上所有的方式有个弊端就是无法实现复用假设在同时部署Web、db、ha 时或不同服务器组合不同的应用就需要写多个yml文件。很难实现灵活的调用。   roles 用于层次性、结构化地组织playbook。roles 能够根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。简单来讲,roles就是通过分别将变量(vars)、文件(file)、任务(tasks)、模块(modules)及处理器(handlers)放置于单独的

花海~ 897

ansible-playbook roles安装mysql

文章目录调用角色install_mysql.ymlmysql roles目录结构main.ymlmysql.ymlinstall_mysql.shmysqld.cnf 调用角色install_mysql.yml - hosts: mysql vars: - action: install roles: - mysql mysql roles目录结构 main.yml - name: check mysql port {{ MYSQL_PORT }} shell:

运维@小兵的博客 1139

手把手教你用Nangate 45nm开源工艺库搞定数字电路仿真(附FreePDK资源)

本文详细介绍了如何使用Nangate 45nm开源工艺库进行数字电路仿真,包括环境搭建、关键文件解析、仿真环境配置及低功耗设计等实战内容。特别推荐FreePDK资源,帮助读者快速掌握从理论到实践的全流程操作,适用于学术研究和小规模数字电路设计。

weixin_30352645的博客 488

ansible 进阶之playbook,roles

33333333333

隔壁老猪 665

nnUnet代码解读--优化策略

优化策略 nnUNetTrainer def initialize_optimizer_and_scheduler(self): assert self.network is not None, "self.initialize_network must be called first" self.optimizer = torch.optim.Adam(self.network.parameters(), self.initial_lr, weight_decay=self.weight_

weixin_44858814的博客 3827

实战解析:从Innovus到Calibre的LVS错误排查全流程

本文详细解析了从Innovus到Calibre的LVS错误排查全流程,涵盖物理验证关键步骤与工具链协同。通过实战案例分享,重点解决器件不匹配、连接性错误等常见问题,并提供GDS导出规范、网表修正策略等实用技巧,帮助工程师高效完成芯片设计物理验证。

9o8p7i6u5y的博客 1038

ansible-playbook roles 部署 mysql5.7 全流程指导

文章目录1、hosts文件添加主机组2、创建roles目录3、下载安装包4、创建mysql的配置模板文件5、创建调用roles的playbook作业 (注意host的角色分组是哪个)6、创建变量vars定义文件7、创建文件分发作业8、创建mysql安装作业9、创建tasks的main.yml文件10、运行mysql_install.yml作业11、后记 1、hosts文件添加主机组 [db_server] 192.168.1.148 2、创建roles目录 cd /etc/ansible/roles/ m

qq_34168515的博客 1581

Sparse4Dv3 代码复现

打包数据集的元信息和标签,并生成所需的.pkl文件。最后还输出了很多跟踪相关的东西...然后通过K-means生成锚点。编译可变形聚合CUDA算子。安装motmetrics。

m0_60857098的博客 4489

Ansible-playbook roles安装mysql实例(学习笔记二十七)

1、ansible安装mysql的相关信息: 2、common安装需要的组件。mysql_install中,files放mysql压缩包,vars存放参数,templates里放安装脚本、配置文件、初始化脚本、service启动配置文件,tasks里执行复制文件、创建用户、复制脚本、创建目录、...

weixin_34066347的博客 304

异步处理优化:多线程线程池与消息队列的选择与应用

本文讨论了两种常见的异步处理方式:多线程线程池和消息队列(MQ)。通过将非核心逻辑异步化,可以提升系统的性能和响应速度。多线程线程池适用于本地并发任务,适合需要快速响应的场景,但无法处理跨服务任务。消息队列则适用于分布式系统,能够解耦服务并保证任务的可靠性和顺序性,适合处理高并发和高可靠性要求的任务。文章提供了实际代码示例,帮助开发者根据业务需求选择合适的异步处理方式。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 170万+

[企业AI落地] RAG 知识库系统在多租户环境下的细粒度权限隔离设计

多租户 RAG 系统真正的风险不只是搜不到,而是把不该看到的内容查出来、说出来、写回去。本文结合多客户售后知识助手场景,用元数据结构、向量检索过滤、回答策略和审计回写示例拆解租户、资源、检索、生成、审计五层权限边界。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 220

【ansible】通过role角色部署lnmp架构

【代码】【ansible】通过role角色部署lnmp架构。

2402_83805984的博客 1197

基于MATLAB的BOC调制信号捕获算法仿真

然而,在实际的使用过程中,由于室内信号衰减以及遮挡等因素的影响,接收机在GPS信号弱化时会很容易丢失导航信息。与其他的调制方式相比,BOC具有较好的抗多径性能和更高的频带效率。通过本文的介绍,我们可以更加深入地了解BOC调制信号的捕获算法,并且掌握了如何使用MATLAB软件对其进行仿真实现。通过实验数据的分析,我们可以看出该算法对于BOC调制信号的捕获具有较高的准确率和稳定性,因此具有一定的工程应用价值。在BOC调制完成后,我们需要进行信号的捕获,这一步涵盖了信号检测、码偏差估计、载波频率估计等过程。

2301_79326559的博客 567

Ansible部署主从+读写分离

1、节点规划 IP 主机名 节点 192.168.11.3 ansible ansible-server节点 192.168.11.15 master mariadb数据库集群主节点 192.168.11.14 slave mariadb数据库集群从节点 192.168.11.8 mycat mycat中间件服务节点 2、Ansible节点基础环境搭建 关闭防火墙 [root@ansible ~]# systemctl stop firewalld &&

感情不都是后者乘凉的博客 614

【YOLO】YOLOV5-Seg的Segment模块解析

Segment模块同时输出检测结果和分割掩模,通过轻量级分割头实现实时实例分割

浩瀚之水的专栏 599

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

playbook+roles安装mysql实战

到playbook-all-roles.yml同级目录执行,没有报错就没有问题。注意:除了main.yml文件必须要有,其他yml文件按需自定义名。代表着nginx这个role,里面存放着各种配置文件。用于指定执行哪个role的文件(命名可以自定义)修改mysql临时密码以及设置访问权限脚本。注意:只能定义成main.yml文件名。hosts文件内容如下:(仅供参考)文件内容如下:(仅供参考)用于存放各种类型的role。文件内容如下:(仅供参考)安装mysql,并启动。用于存放主机清单文件。

2401_82700290的博客 1011

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ansible通过角色实现mysql的一键自动化安装

ansible的原理为ansible命令执行后,会生成一个python模块文件,通过ssh协议传送到被控机,被控机收到后,会产生一个临时目录(默认是/tmp),然后用python解释器来解析文件,解析完后执行操作,执行完后立即删除临时目录,主控机会删除python文件,删除一切痕迹,就好像什么都没发生一样,被控机会将执行的结果以json数据形式返回到主控机。6.link.yml:在被控机创建mysql的链接文件(这里主要是方便,以后只需要在配置文件写/usr/local/mysql,就不用写版本号)

abc050920的博客 634

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

自动化运维:Ansible之playbook基于ROLES部署LNMP平台

用roles和不用roles的逻辑其实是一样的,要根据服务器的功能,先收集服务器所需要的文件,再进行安装,传输文件,启动服务或重启服务等操作。进入 /etc/yum.repos.d/目录中,在http://mirrors.163.com/.help/centos.html,在里面下载对应版本的repo文件,我下载了CentOS-Base.repo。在http://mirrors.kernel.org/centos/ 或者 http://mirrors.163.com/centos/里下载。

cronaldo91的博客 1942

Ansible之roles(角色)详解

一、roles介绍 角色(roles)是ansible自1.2版本开始引入的新特性,用于层次性,结构化地组织playbook。 roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。简单的说,roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中、并可以便捷地incl...

Jian Sun_的博客 6万+

【自动化运维神器Ansible】Ansible Roles详解:层次化、结构化组织Playbook的最佳实践

简单来说,Roles就是通过将复杂的Playbook拆分为多个逻辑组件,使代码更加模块化、可重用且易于维护。在Ansible自动化运维中,随着项目复杂度的增加,Playbook文件会变得越来越庞大且难以维护。Roles提供了一种层次化、结构化的方式来组织Playbook,极大地提高了代码的可重用性和可维护性。Roles不仅能够简化复杂的Playbook,还能提高团队协作效率,是Ansible自动化运维中不可或缺的重要特性。Roles采用标准化的目录结构,每个Role由多个目录和文件组成。

IT成长日记的博客 2319

ansible自动化运维安装部署实践-playbook+roles部署lamp环境

roles(⻆⾊) 就是通过分别将variables, tasks及handlers等放置于单独的⽬录中,并可以便捷地调⽤它们的⼀种机制。假设我们要写⼀个playbook来安装管理lamp环境,那么这个playbook就会写很⻓。所以我们希望把这个很⼤的⽂件分成多个功能拆分, 分成apache管理,php管理,mysql管理,然后在需要使⽤的时候直接调⽤就可以了,以免重复写。就类似编程⾥的模块化...

一别两宽丶各生欢喜 5301

Ansible-playbook-roles安装lnmp

使用roles安装lnmp1、准备四台主机2、10作为ansible管理端首先ssh连接剩下三台主机添加[nginxservers]配置nginx ip,[phpservers]php ip,[mysqlservers]mysql ip5、准备nginx配置模板文件,需要在管理端下载nginx、php、mysql。6、在模板文件中修改j2模板文件7、在vars文件中准备变量pkg: nginx。

StarkDD1127的博客 1809

TimesFM 时间序列预测入门:3 分钟跑出第一个预测

TimesFM 是 Google Research 开源的时间序列基础模型,也是开箱即用的时间序列预测工具:喂一段历史数据,返回带分位区间的未来预测,不用自己训练。适合需要快速基线、不想从零调参的数据工程师与分析师。 ## 先搞清楚它是什么:零训练也能出预测 它属于"预训练 + 零样本"路线的时间序列模型,论文发表于 ICML 2024,架构是 decoder-only。可以把它想成一位看曲线

gitblog_01025的博客 503

ansible——roles 角色

handlers目录用于定义此角色中触发条件时执行的动作。#变量放在vars目录下pkg: nginxsvc: nginx。

q1y2y3的博客 819

运维自动化之ANSIBLE--Roles

roles通过分别将变量、文件、任务、模板及处理器放置于单独的目录中, 并可以便捷地include它们的一种机制。

涩。 1622

基于ansible的roles实现LNMP

本文介绍了使用Ansible自动化部署LNMP(Linux+Nginx+MySQL+PHP)环境及WordPress网站的详细过程。首先在纯净Linux环境中配置跨主机SSH免密认证,设置Ansible控制节点并调整软件源。通过角色(role)方式分别实现Nginx、PHP、MySQL和WordPress的模块化部署,包括用户创建、软件安装、服务配置等任务。最后通过编写playbook文件。最后拆分得到roles。完成WordPress基础环境搭建,实现了LNMP架构的一键式自动化部署。

Whatareyo的博客 222
上一篇: ansible的浅谈
下一篇: 自动化卸载二进制安装mysql以及文件
abbydown05
博客等级 码龄7年 4粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值