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

 更新时间:2024年03月25日 10:41:23   作者:lzyever  
要在 CentOS 7 下使用 Ansible Playbook 实现 MySQL 8.0.34 的二进制安装,需要先下载 MySQL 8.0.34 的二进制包,并将其上传至目标服务器,对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 7
  hosts: db_servers # 更改为主机清单中对应安装MySQL的主机群组名称
  gather_facts: yes
  become: yes
  vars:
    mysql_version: 8.0.34
    mysql_archive_name: mysql-8.0.34-linux-glibc2.12-x86_64.tar.gz
    mysql_download_url: "https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-{mysql_archive_name}"
    mysql_data_dir: /var/lib/mysql
    mysql_config_file: /etc/my.cnf
    mysql_root_password: "your_strong_password"
  tasks:
  - name: Download MySQL 8.0.34 binary archive
    get_url:
      url: "{{ mysql_download_url.format(mysql_archive_name=mysql_archive_name) }}"
      dest: /usr/local/src/
      mode: 0644
  - name: Extract the MySQL binary archive
    unarchive:
      src: "/usr/local/src/{{ mysql_archive_name }}"
      dest: /usr/local/
      remote_src: yes
      creates: /usr/local/mysql/
  - name: Create MySQL data directory if it does not exist
    file:
      path: "{{ mysql_data_dir }}"
      state: directory
      owner: mysql
      group: mysql
      mode: 0750
  - name: Configure MySQL settings in my.cnf
    lineinfile:
      path: "{{ mysql_config_file }}"
      regexp: '^lower_case_table_names'
      line: 'lower_case_table_names=1'
      backup: yes
  - name: Initialize MySQL data directory
    command: >
      /usr/local/mysql/bin/mysqld --initialize-insecure
      --basedir=/usr/local/mysql
      --datadir={{ mysql_data_dir }}
    args:
      creates: "{{ mysql_data_dir }}/ibdata1"
  - name: Start MySQL service
    shell: |
      cd /usr/local/mysql
      ./bin/mysqld_safe &
    async: 30
    poll: 0
  - name: Wait for MySQL to be ready
    wait_for:
      port: 3306
      delay: 30
      timeout: 60
  - name: Set MySQL root password
    mysql_user:
      name: root
      host: localhost
      password: "{{ mysql_root_password }}"
      check_password_policy: no
      login_unix_socket: /var/run/mysqld/mysqld.sock
      update_password: always
      state: 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 的二进制安装的文章就介绍到这了,更多相关MySQL 8.0.34 二进制安装内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • MySQL中的运算符使用实例展示

    MySQL中的运算符使用实例展示

    请问,什么是最好的参考文档,我的答案是:真实可行的样例语句。
    2010-12-12
  • MySQL SQL性能分析之慢查询日志、explain使用详解

    MySQL SQL性能分析之慢查询日志、explain使用详解

    这篇文章主要介绍了MySQL SQL性能分析 慢查询日志、explain使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Mysql实现增量恢复的方法详解

    Mysql实现增量恢复的方法详解

    本文给大家分享的是如何实现mysql增量恢复的场景以及具体实现方法,有需要的小伙伴可以参考下
    2018-07-07
  • 提高MySQL深分页查询效率的三种方案

    提高MySQL深分页查询效率的三种方案

    这篇文章介绍了提高MySQL深分页查询效率的三种方案,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 详解MySQL的主从复制、读写分离、备份恢复

    详解MySQL的主从复制、读写分离、备份恢复

    本篇文章主要对MySQL的主从复制、读写分离、备份恢复进行详细全面的讲解,具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • Mysql查询去空格的多种方法汇总

    Mysql查询去空格的多种方法汇总

    SQL查询语句中空格是用来分隔关键字、表名、列名等的,然而空格也会影响查询效率,因为查询语句中的空格越多,查询的速度就越慢,下面这篇文章主要给大家介绍了关于Mysql查询去空格的多种方法,需要的朋友可以参考下
    2023-04-04
  • MySQL将select结果执行update的实例教程

    MySQL将select结果执行update的实例教程

    这篇文章主要给大家介绍了关于MySQL将select结果执行update的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Mysql外键设置中的CASCADE、NO ACTION、RESTRICT、SET NULL

    Mysql外键设置中的CASCADE、NO ACTION、RESTRICT、SET NULL

    本文主要介绍了Mysql外键设置中的CASCADE、NO ACTION、RESTRICT、SET NULL,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • linux配置mysql数据库远程连接失败的解决方法

    linux配置mysql数据库远程连接失败的解决方法

    这篇文章主要为大家详细介绍了linux配置mysql数据库远程连接失败的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • MySQL中SQL命令语句条件查询实例详解

    MySQL中SQL命令语句条件查询实例详解

    SELECT语句可以通过WHERE条件来设定查询条件,查询结果是满足查询条件的记录,下面这篇文章主要给大家介绍了关于MySQL中SQL命令语句条件查询的相关资料,需要的朋友可以参考下
    2022-11-11

最新评论