在 CentOS 7 下使用 Ansible Playbook 实现 MySQL 8.0.34 的二进制安装

要在 CentOS 7 下使用 Ansible Playbook 实现 MySQL 8.0.34 的二进制安装,需要先下载 MySQL 8.0.34 的二进制包,并将其上传至目标服务器。
以下是基于二进制包安装的一个简化示例 Playbook:

---
# mysql8_binary_install_playbook.yaml- name: Install MySQL 8.0.34 Binary on CentOS 7hosts: db_servers # 更改为主机清单中对应安装MySQL的主机群组名称gather_facts: yesbecome: yesvars:mysql_version: 8.0.34mysql_archive_name: mysql-8.0.34-linux-glibc2.12-x86_64.tar.gzmysql_download_url: "https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-{mysql_archive_name}"mysql_data_dir: /var/lib/mysqlmysql_config_file: /etc/my.cnfmysql_root_password: "your_strong_password"tasks:- name: Download MySQL 8.0.34 binary archiveget_url:url: "{{ mysql_download_url.format(mysql_archive_name=mysql_archive_name) }}"dest: /usr/local/src/mode: 0644- name: Extract the MySQL binary archiveunarchive:src: "/usr/local/src/{{ mysql_archive_name }}"dest: /usr/local/remote_src: yescreates: /usr/local/mysql/- name: Create MySQL data directory if it does not existfile:path: "{{ mysql_data_dir }}"state: directoryowner: mysqlgroup: mysqlmode: 0750- name: Configure MySQL settings in my.cnflineinfile:path: "{{ mysql_config_file }}"regexp: '^lower_case_table_names'line: 'lower_case_table_names=1'backup: yes- name: Initialize MySQL data directorycommand: >/usr/local/mysql/bin/mysqld --initialize-insecure--basedir=/usr/local/mysql--datadir={{ mysql_data_dir }}args:creates: "{{ mysql_data_dir }}/ibdata1"- name: Start MySQL serviceshell: |cd /usr/local/mysql./bin/mysqld_safe &async: 30poll: 0- name: Wait for MySQL to be readywait_for:port: 3306delay: 30timeout: 60- name: Set MySQL root passwordmysql_user:name: roothost: localhostpassword: "{{ mysql_root_password }}"check_password_policy: nologin_unix_socket: /var/run/mysqld/mysqld.sockupdate_password: alwaysstate: present# 您还可以进一步执行其他安全配置,比如删除匿名用户、禁用远程 root 登录等# 这些通常可以通过 mysql_secure_installation 脚本来完成,但在 Ansible 中需要转换为对应的 SQL 命令

注意:

  • 确保在实际场景中替换 mysql_download_url 为实际有效的 MySQL 8.0.34 二进制包下载链接。
  • 使用 --initialize-insecure 参数初始化数据目录时不设置初始密码,你将在后续步骤中设置 mysql_root_password
  • 启动 MySQL 服务的方式在这里采用的是后台运行,实际生产环境中建议改为使用 systemd 单元文件进行管理。
  • 需要预先确保所需的所有依赖库都已安装。

由于二进制安装相比 RPM 包安装更复杂,涉及到的数据目录初始化、系统用户创建与权限设置等都需要手动或通过脚本完成。上述 playbook 是一个基本示例,具体实施时可能需要根据实际情况调整和完善。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/761885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SpringBoot】登录校验之会话技术、统一拦截技术

真正的登录功能应该是: 登陆后才能访问后端系统页面,不登陆则跳转登陆页面进行登陆。 当我们没有设置登录校验,可以直接通过修改地址栏直接进入管理系统内部,跳过登录页。而后端系统的增删改查功能,没有添加判断用户是…

DECO: Query-Based End-to-End Object Detection with ConvNets 学习笔记

论文地址:https://arxiv.org/pdf/2312.13735.pdf源码地址:https://github.com/xinghaochen/DECO 近年来,Detection Transformer (DETR) 及其变体在准确检测目标方面显示出巨大的潜力。对象查询机制使DETR系列能够直接获…

Semi-supervised Open-World Object Detection

Semi-supervised Open-World Object Detection 摘要1 介绍2.准备工作提出的SS-OWOD问题设置2.1 基础架构3 方法3.1整体架构摘要 传统的开放世界对象检测(OWOD)问题设置首先区分已知和未知类别,然后在后续任务中引入标签时逐步学习未知对象。然而,当前的OWOD公式在增量学习…

[pytorch] detr源码浅析

[pytorch] detr源码浅析 1. backbone部分2. encoder部分3. decoder部分4. 输出预测 为之后SAM的代码分析做铺垫 1. backbone部分 detr.py中的DETR class class DETR(nn.Module):def __init__(self, backbone, transformer, num_classes, num_queries, aux_lossFalse):...def …

78K0最小硬件系统分析

78K0最小硬件系统如下图所示。 在应用APPlilet2软件创建一个工程时,软件会第一时间弹出系统设置对话框和看门狗定时器设置对话框。这是对最小硬件系统的初始设置。包括如下选项: (1)系统时钟设置 体现在硬件初始化函数hdwinit中。…

C#使用ASP.NET Core Razor Pages构建网站(二)

上一篇文章讲了HTTP协议的基本概念、客户端Web开发技术以及ASP.NET Core框架的关键特点和创建项目方法 链接:C#使用ASP.NET Core Razor Pages构建网站(一) 接下来继续了解ASP.NET Core Razor Pages构建网站的后续内容 了解Razor Pages Razo…

【漏洞分析】Confluence 数据中心和服务器中的严重漏洞 CVE-2023-22515

Confluence 数据中心和服务器中的严重漏洞 CVE-2023-22515 一、简述二、利用(一)第一阶段 设置“设置过程尚未完成”(二)第二阶段,访问setupadministrator端点(三)、利用新创建管理员账户登录 三、POC 一、简述 Confluence 的开发者 Atlassian 已公告此…

易大师B版运势测算系统源码-八字周易运势塔罗-含视频搭建教程

2024最新易大师B版运势测算系统源码-八字周易运势塔罗等测算源码 基于上个版本再次做了数据优化和部分bug修复,青狐独家维护版本。 测算周易系统一直都是很好变现和运营的,玩法操作也比较简单,也很容易被百度收录推广。 大致功能&#xff1a…

Github Action Auto build docker Auto deploy

简介 整个流程比较清晰,实现的是基于Github 定向的往ECS做发布 探索 自动化打包发布一般流程: 本地环境打镜像 CI/CD 环境打镜像 以上的流程使用于比较大的项目,受限于环境,打算对上面流程做简化,使用github acti…

栈和队列的学习

存储方式分两类:顺序存储和链式存储 栈:只允许从一端进行数据插入和删除的线性表:先进后出 FILO 队列:只允许从一端进行数据插入,另一端进行数据删除的线性表:先进先出 FIFO 栈 创建空栈,创建…

(AtCoder Beginner Contest 327) --- F-Apples --- 题解 (一个比较难想的线段树题)

目录 F-Apples: 题目大意: ​编辑​编辑 思路解析: 代码实现: F-Apples: 题目大意: 样例解释: 思路解析: 题目要求我们选择任意一对S,L,让苹果满足 S-0.…

北航悉尼大学联合研发突破性高效AI技术:双重二值化方法重塑大型语言模型效率

论文题目: DB-LLM: Accurate Dual-Binarization for Efficient LLMs 论文链接: https://arxiv.org/abs/2402.11960 大型语言模型(LLMs)的双重二值化方法:新纪元的高效自然语言处理。随着大型语言模型(LLMs&…

Amazon SageMaker + Stable Diffusion 搭建文本生成图像模型

如果我们的计算机视觉系统要真正理解视觉世界,它们不仅必须能够识别图像,而且必须能够生成图像。文本到图像的 AI 模型仅根据简单的文字输入就可以生成图像。 近两年,以ChatGPT为代表的AIGC技术崭露头角,逐渐从学术研究的象牙塔迈…

应急救援装备无人机是否必要?无人机在应急救援中的具体应用案例有哪些?

无人机(Drone)是一种能够飞行并自主控制或远程操控的无人驾驶飞行器。它们通常由航空器、控制系统、通讯链路和电源系统组成,并可以根据任务需求搭载不同类型的传感器、摄像头、货物投放装置等设备。 无人机的种类繁多,从大小、形…

信号量实现生产者消费者程序_C语言示例

信号量的基本思想是通过一个计数器和一组相关的操作来实现资源的控制和同步。计数器表示可用的资源数量,每次访问共享资源时,线程需要先申请信号量,如果信号量的计数器大于零,则线程可以访问共享资源并将计数器减一;如…

Android Handler使用介绍

Android 中的 Handler 是用来和线程通信的重要工具。它主要用于在后台线程中执行任务,并将结果传递回主线程以更新用户界面。 一、基本概念 线程间通信: Android 应用通常具有主线程(也称为 UI 线程)和后台线程。Handler 允许您从…

操作系统面经-程序和进程的区别

1.程序、进程、线程简述 程序的基本概念 程序是含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。 进程的基本概念 在多道程序环境下,允许多个程序并发执行,此时它们将失去封闭性&#xf…

Verilog刷题笔记41

题目:Create 8 D flip-flops with active high asynchronous reset. All DFFs should be triggered by the positive edge of clk. 解题: module top_module (input clk,input areset, // active high asynchronous resetinput [7:0] d,output [7:0]…

ollama -linux部署

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 安装对应的包启动ollama启动llama2大模型(新开一个终端)python接口对话streamlit对话 安装对应的包 # linux 安装curl -fsSL https://ollam…

开发chrome扩展( 禁止指定域名使用插件)

mainfest.json: {"manifest_version": 3,"name": "ChatGPT学习","version": "0.0.2","description": "ChatGPT,GPT-4,Claude3,Midjourney,Stable Diffusion,AI,人工智能,AI","icons": {&quo…