ansible部署二进制mysql 8

1、配置文件

ll /ansible
-rw-r--r-- 1 root root        836 Sep 22 12:09 my.cnf
-rw-r--r-- 1 root root        810 Sep 22 07:21 mysql.service
-rw-r--r-- 1 root root       2731 Sep 22 12:32 mysql.yam

2、my.cnf内容

root@bole:/ansible# cat my.cnf 
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
skip-name-resolve
user=mysql
ngram_token_size=2
server-id=1
default_password_lifetime=0
port=3306
#设置安装目录
basedir=/app/mysql
#数据存放目录
datadir=/app/mysql/data
log-error=/app/mysql/logs/err.log
#允许最大连接数
max_connections=1000
#服务端默认使用的字符集
character-set-server=utf8mb4
#创捷新表时默认的储存引擎
default-storage-engine=INNODB
#忘记密码时使用
#skip-grant-tables
#不区分大小写
lower_case_table_names=1
#认证方式
default_authentication_plugin=mysql_native_password
max_allowed_packet=500M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
wait_timeout=28800
interactive_timeout=28800
max_connect_errors=100
max_user_connections=0
#日志文件大小
max_binlog_size=100M

3、mysql.service内容

root@bole:/ansible# cat mysql.service 
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target[Install]
WantedBy=multi-user.target[Service]
User=mysql
Group=mysql# Have mysqld write its state to the systemd notify socket
Type=notify# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0# Start main service
ExecStart=/app/mysql/bin/mysqld --defaults-file=/app/mysql/conf/my.cnf $MYSQLD_OPTS# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql# Sets open_files_limit
LimitNOFILE=10000Restart=on-failure
RestartPreventExitStatus=1# Set environment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1PrivateTmp=false

4、mysql.yaml的内容

root@bole:/ansible# cat mysql.yaml 
- name: Install MySQLhosts: 192.168.10.102gather_facts: no#创建用户组tasks:- name: Create MySQL groupgroup:name: mysqlsystem: yesgid: 306- name: Create MySQL useruser:name: mysqlshell: /sbin/nologinsystem: yesgroup: mysqluid: 306home: /data/mysqlcreate_home: no#将shell的标准输出赋予 id_output- name: Check creation of user and groupshell: id mysqlregister: id_output#将标准输出打印,加stdout即使捕获register模块的标准输出- name: Print output of 'id mysql'debug:var: id_output.stdout#创建app目录- name: Create directory for MySQL installationfile:path: /appstate: directorymode: 0755#下载mysql的tar包并将其解压- name: Unzip MySQL tarballblock:- name: Download MySQL tarballget_url:url: https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.39-linux-glibc2.28-x86_64.tardest: /app- name: Unzip MySQL tarball to temporary directoryunarchive:src: /app/mysql-8.0.39-linux-glibc2.28-x86_64.tardest: /appcopy: no- name: Tar.xz Mysqlunarchive:src: /app/mysql-8.0.39-linux-glibc2.28-x86_64.tar.xzdest: /appcopy: no- name: Move MySQL directory to final locationshell: mv /app/mysql-8.0.39-linux-glibc2.28-x86_64 /app/mysqlargs:creates: /app/mysql- name: Set ownership and permissions for MySQL directoryfile:path: /app/mysqlstate: directoryowner: mysqlgroup: mysqlmode: 0755#创建所需的目录- name: Create MySQL directoriesfile:path: "{{ item }}"state: directoryowner: mysqlgroup: mysqlmode: 0755with_items:- /app/mysql- /app/mysql/logs- /app/mysql/conf- /app/mysql/data#安装依赖- name: Install dependenciesapt:name:- libaio1- libaio-dev- libncurses5-devupdate_cache: yes#拷贝配置文件及service文件- name: Copy MySQL configuration filescopy:src: /ansible/my.cnfdest: /app/mysql/confowner: mysqlgroup: mysqlmode: 0644- name: Copy Mysql.servicecopy:src: /ansible/mysql.servicedest: /usr/lib/systemd/systemowner: rootgroup: rootmode: 0644#安装mysql并启动- name: Initialize MySQLshell: /app/mysql/bin/mysqld --defaults-file=/app/mysql/conf/my.cnf --initializeenvironment:MYSQL_ROOT_PASSWORD: your_root_password_here- name: Start MySQL servicesystemd:name: mysqlstate: startedenabled: yes

5、验证查看

root@ab2:~# systemctl status mysql
● mysql.service - MySQL ServerLoaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)Active: active (running) since Sun 2024-09-22 12:33:40 UTC; 18min agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlMain PID: 4001 (mysqld)Status: "Server is operational"Tasks: 38 (limit: 4513)Memory: 361.7MCPU: 8.028sCGroup: /system.slice/mysql.service└─4001 /app/mysql/bin/mysqld --defaults-file=/app/mysql/conf/my.cnfSep 22 12:33:40 ab2 systemd[1]: Starting MySQL Server...
Sep 22 12:33:40 ab2 systemd[1]: Started MySQL Server.

6、登录验证

#获取密码
root@ab2:~# cat /app/mysql/logs/err.log |grep 'temporary password'
2024-09-22T12:33:37.597706Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: QEJw-p,=:8(.
#登录
mysql -uroot -p 'QEJw-p,=:8(.'#修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

sqli-lab靶场学习(三)——Less8-10(盲注、时间盲注)

Less8 第八关依然是先看一般状态 http://localhost/sqli-labs/Less-8/?id1 然后用单引号闭合: http://localhost/sqli-labs/Less-8/?id1 这关的问题在于报错是不显示,那没办法通过上篇文章的updatexml大法处理。对于这种情况,需要用“盲…

皮科医生对网红药膏的说明

维A酸乳膏 阿达帕林凝胶 (粉刺 黑头 炎症性痘痘 痘印) 局部点涂 维A酸乳膏(0.01%) 0.1% 晚上使用 点涂 不能见光 做好防晒 过氧化苯酰 灭杀痤疮杆菌 发炎痘痘 效果好 先局部点涂试用 抗生素 红霉素眼膏 浓度低 结膜炎 治疗痘痘 痤疮对红霉素 耐药性强 夫西地酸软膏 脓疱性 丘…

基于单片机的无线宠物自动喂食系统设计

本设计研究了一种无线宠物自动喂食器,其功能是先将宠物饲料放入其中,通过设定喂食时间点,当到达这一时间点后,系统开始播报语音同时控制步进电机转动,自动进行喂食。本设计主要研究怎么设定时间并进行投喂,…

java项目之常规应急物资管理系统(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的常规应急物资管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息。 项目简介: 基于SpringBootVue的…

2024年 5 个优秀的Flutter图标库

2024年 5 个优秀的Flutter图标库 视频 https://youtu.be/jJV_1WUBXB8 https://www.bilibili.com/video/BV1Fw4m1k7A4/ 前言 原文 top-5-flutter-icon-libraries-202 best flutter icon library 作为Flutter开发者,您一定需要优质的图标资源来美化应用程序。 虽然官方提供了…

经典报童问题的2类扩展实例:带广告的报童问题和多产品报童问题

文章目录 1 引言2 经典报童问题3 带广告的报童问题3.1 论文解读3.2 样本均值近似方法 4 多产品报童问题4.1 论文解读4.2 算法模型4.3 简单实例求解4.4 复杂实例求解 5 总结6 相关阅读 1 引言 中秋已过,国庆未至,趁着这个空窗期,学点新知识&a…

二分查找算法(2) _在排序数组中查找元素的第一个和最后一个_模板

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 二分查找算法(2) _在排序数组中查找元素的第一个和最后一个_模板 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评…

NLP-transformer学习:(7)evaluate实践

NLP-transformer学习:(7)evaluate 使用方法 打好基础,为了后面学习走得更远。 本章节是单独的 NLP-transformer学习 章节,主要实践了evaluate。同时,最近将学习代码传到:https://github.com/Mex…

【Linux篇】网络编程基础(笔记)

目录 一、服务器模型 1. C/S 模型 2. P2P模型 二、服务器编程框架 1. I/O处理单元 2. 逻辑单元 3. 网络存储单元 4. 请求队列 三、网络编程基础API 1. socket 地址处理 API (1)主机字节序和网络字节序 (2)通用socket地…

【计网】从零开始掌握序列化 --- JSON实现协议 + 设计 传输\会话\应用 三层结构

唯有梦想才配让你不安, 唯有行动才能解除你的不安。 --- 卢思浩 --- 从零开始掌握序列化 1 知识回顾2 序列化与编写协议2.1 使用Json进行序列化2.2 编写协议 3 封装IOService4 应用层 --- 网络计算器5 总结 1 知识回顾 上一篇文章我们讲解了协议的本质是双方能够…

4--SpringBoot项目中分类管理

目录 新增分类 分类分页查询 启用禁用分类 根据类型查询 修改分类 本文介绍SpringBoot项目中的分类管理,操作类似员工管理模块,具体详解可见以下博客,此处给出各部分代码 2--SpringBoot项目中员工管理 详解(一)-C…

基尔霍夫衍射理论

一、矢量理论到标量理论 前提条件:介质同时具有线性、各向同性、均匀性且无色散。 结论:电场和磁场的所有分量的行为完全相同,可由单一的一个标量波动方程描述,标量理论可以完全准确的代替矢量理论。 若介质不具备上述前提,则用标量理论来表征矢 量理论就会引入误差。 …

面试题 02.07. 链表相交 双指针

面试题 02.07. 链表相交 已解答 简单 相关标签 相关企业 提示 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证…

数业智能心大陆:职场倦怠的新解法

什么是职业倦怠? 在职场中,职业倦怠的表现形式丰富多样。从数业智能心大陆 AI 心理咨询平台的数据来看,职业倦怠呈现出多种状态。教师可能对教学不再满怀热情,精心备课也成为过去式;情绪上容易烦躁、易怒,在…

Elasticsearch不停机切换(上云)方案

如何给飞行中的飞机换引擎? 背景 业务背景 略 技术背景 线下集群40个索引左右,总数据量不大,不到100G因为ES承担的业务鉴权业务,所以不能接受停机割接 还有就是ES中数据来自各个业务方,推送的时机不定,也没有完备的重推机制&…

心理辅导系统的现代化:Spring Boot解决方案

1绪 论 1.1研究背景 随着计算机和网络技术的不断发展,计算机网络已经逐渐深入人们的生活,网络已经能够覆盖我们生活的每一个角落,给用户的网上交流和学习提供了巨大的方便。 当今社会处在一个高速发展的信息时代,计算机网络的发展…

MySQL --数据类型

文章目录 1.数据类型分类2.数值类型2.1 tinyint类型2.2 bit类型2.3小数类型2.31float2.32decimal 3.字符串类型3.1 char3.2varchar3.3 char和varchar比较 4.日期和时间类型5.enum和set 1.数据类型分类 2.数值类型 2.1 tinyint类型 数值越界测试: create table tt1…

Python画笔案例-056 绘制正方形金字塔

1、绘制正方形金字塔 通过 python 的turtle 库绘制 正方形金字塔,如下图: 2、实现代码 绘制正方形金字塔,以下为实现代码: """正方形金字塔.py """ import turtledef draw_square(length):for _ in

设计模式之组合模式例题

答案:C A 知识点:组合模式的意图:将对象组合成树型结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性

数据挖掘实战-基于SARIMA时间序列模型预测阿里巴巴股票数据趋势

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…