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

本文主要是介绍在 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 是一个基本示例,具体实施时可能需要根据实际情况调整和完善。

这篇关于在 CentOS 7 下使用 Ansible Playbook 实现 MySQL 8.0.34 的二进制安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/834611

相关文章

Spring Boot整合Redis注解实现增删改查功能(Redis注解使用)

《SpringBoot整合Redis注解实现增删改查功能(Redis注解使用)》文章介绍了如何使用SpringBoot整合Redis注解实现增删改查功能,包括配置、实体类、Repository、Se... 目录配置Redis连接定义实体类创建Repository接口增删改查操作示例插入数据查询数据删除数据更

Mysql数据库聚簇索引与非聚簇索引举例详解

《Mysql数据库聚簇索引与非聚簇索引举例详解》在MySQL中聚簇索引和非聚簇索引是两种常见的索引结构,它们的主要区别在于数据的存储方式和索引的组织方式,:本文主要介绍Mysql数据库聚簇索引与非... 目录前言一、核心概念与本质区别二、聚簇索引(Clustered Index)1. 实现原理(以 Inno

sqlserver、mysql、oracle、pgsql、sqlite五大关系数据库的对象名称和转义字符

《sqlserver、mysql、oracle、pgsql、sqlite五大关系数据库的对象名称和转义字符》:本文主要介绍sqlserver、mysql、oracle、pgsql、sqlite五大... 目录一、转义符1.1 oracle1.2 sqlserver1.3 PostgreSQL1.4 SQLi

Java Lettuce 客户端入门到生产的实现步骤

《JavaLettuce客户端入门到生产的实现步骤》本文主要介绍了JavaLettuce客户端入门到生产的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录1 安装依赖MavenGradle2 最小化连接示例3 核心特性速览4 生产环境配置建议5 常见问题

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

linux ssh如何实现增加访问端口

《linuxssh如何实现增加访问端口》Linux中SSH默认使用22端口,为了增强安全性或满足特定需求,可以通过修改SSH配置来增加或更改SSH访问端口,具体步骤包括修改SSH配置文件、增加或修改... 目录1. 修改 SSH 配置文件2. 增加或修改端口3. 保存并退出编辑器4. 更新防火墙规则使用uf

Java 的ArrayList集合底层实现与最佳实践

《Java的ArrayList集合底层实现与最佳实践》本文主要介绍了Java的ArrayList集合类的核心概念、底层实现、关键成员变量、初始化机制、容量演变、扩容机制、性能分析、核心方法源码解析、... 目录1. 核心概念与底层实现1.1 ArrayList 的本质1.1.1 底层数据结构JDK 1.7

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS