在?CentOS?7?下如何使用?Ansible?Playbook?實(shí)現(xiàn)?MySQL?8.0.34?的二進(jìn)制安裝
在 CentOS 7 下使用 Ansible Playbook 實(shí)現(xiàn) MySQL 8.0.34 的二進(jìn)制安裝
要在 CentOS 7 下使用 Ansible Playbook 實(shí)現(xiàn) MySQL 8.0.34 的二進(jìn)制安裝,需要先下載 MySQL 8.0.34 的二進(jìn)制包,并將其上傳至目標(biāo)服務(wù)器。
以下是基于二進(jìn)制包安裝的一個(gè)簡(jiǎn)化示例 Playbook:
---
# mysql8_binary_install_playbook.yaml
- name: Install MySQL 8.0.34 Binary on CentOS 7
hosts: db_servers # 更改為主機(jī)清單中對(duì)應(yīng)安裝MySQL的主機(jī)群組名稱
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
# 您還可以進(jìn)一步執(zhí)行其他安全配置,比如刪除匿名用戶、禁用遠(yuǎn)程 root 登錄等
# 這些通常可以通過 mysql_secure_installation 腳本來完成,但在 Ansible 中需要轉(zhuǎn)換為對(duì)應(yīng)的 SQL 命令注意:
- 確保在實(shí)際場(chǎng)景中替換
mysql_download_url為實(shí)際有效的 MySQL 8.0.34 二進(jìn)制包下載鏈接。 - 使用
--initialize-insecure參數(shù)初始化數(shù)據(jù)目錄時(shí)不設(shè)置初始密碼,你將在后續(xù)步驟中設(shè)置mysql_root_password。 - 啟動(dòng) MySQL 服務(wù)的方式在這里采用的是后臺(tái)運(yùn)行,實(shí)際生產(chǎn)環(huán)境中建議改為使用 systemd 單元文件進(jìn)行管理。
- 需要預(yù)先確保所需的所有依賴庫都已安裝。
由于二進(jìn)制安裝相比 RPM 包安裝更復(fù)雜,涉及到的數(shù)據(jù)目錄初始化、系統(tǒng)用戶創(chuàng)建與權(quán)限設(shè)置等都需要手動(dòng)或通過腳本完成。上述 playbook 是一個(gè)基本示例,具體實(shí)施時(shí)可能需要根據(jù)實(shí)際情況調(diào)整和完善。
到此這篇關(guān)于在 CentOS 7 下使用 Ansible Playbook 實(shí)現(xiàn) MySQL 8.0.34 的二進(jìn)制安裝的文章就介紹到這了,更多相關(guān)MySQL 8.0.34 二進(jìn)制安裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql存儲(chǔ)過程之錯(cuò)誤處理實(shí)例詳解
這篇文章主要介紹了mysql存儲(chǔ)過程之錯(cuò)誤處理,結(jié)合實(shí)例形式詳細(xì)分析了mysql存儲(chǔ)過程錯(cuò)誤處理相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-12-12
MySQL四種日志binlog/redolog/relaylog/undolog詳解
undo?log主要存儲(chǔ)的也是邏輯日志,比如我們要insert一條數(shù)據(jù)了,那undo?log會(huì)記錄的一條對(duì)應(yīng)的delete日志,我們要update一條記錄時(shí),它會(huì)記錄一條對(duì)應(yīng)相反的update記錄,這篇文章主要介紹了MySQL四種日志binlog/redolog/relaylog/undolog,需要的朋友可以參考下2024-08-08
Navicat異地自動(dòng)備份MySQL方法詳解(圖文)
Navicat異地自動(dòng)備份MySQL方法詳解,使用Navicat的需要備份mysql的朋友也方便了2012-01-01
mysql千萬級(jí)數(shù)據(jù)量根據(jù)索引優(yōu)化查詢速度的實(shí)現(xiàn)
這篇文章主要介紹了mysql千萬級(jí)數(shù)據(jù)量根據(jù)索引優(yōu)化查詢速度的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
MySQL中VARCHAR和TEXT的區(qū)別小結(jié)
MySQL中VARCHAR和TEXT用于存儲(chǔ)字符串,VARCHAR可變長(zhǎng)度存儲(chǔ)在行內(nèi),適合短文本;TEXT存儲(chǔ)在溢出頁,適合大文本,下面就來具體的了解一下兩者的區(qū)別,感興趣的可以了解一下2025-09-09
MySQL學(xué)習(xí)第六天 學(xué)習(xí)MySQL基本數(shù)據(jù)類型
MySQL學(xué)習(xí)第六天和大家一起學(xué)習(xí)MySQL基本數(shù)據(jù)類型,基本類型包括數(shù)值類型、日期和時(shí)間類型和字符串類型等,感興趣的小伙伴們可以參考一下2016-05-05

