Ansible使用playbook自动化批量安装MySQL5.7
  TEZNKK3IfmPf 2023年11月12日 19 0

在Ansible主机上定义hosts文件和准备安装包,目录结构如下:

Ansible使用playbook自动化批量安装MySQL5.7

hosts配置如下:(本次示例只演示1台机器)

Ansible使用playbook自动化批量安装MySQL5.7

install.yml内容如下:(示例采用mysql-5.7.35源码包,数据目录自定义)

- hosts: mysql
tasks:
- name: 复制安装包
copy: src=mysql-5.7.35-el7-x86_64.tar.gz dest=/opt force=no
- name: 解压安装包
unarchive: src=/opt/mysql-5.7.35-el7-x86_64.tar.gz dest=/opt copy=no
- name: 创建mysql组
group: name=mysql state=present
- name: 创建mysql用户
user: name=mysql group=mysql state=present
- name: 创建数据目录
file:
path: "{{ item }}"
state: directory
owner: mysql
group: mysql
with_items:
- /data/mysql
- /data/log
- /data/tmp
- name: 复制my.cnf文件
copy: src=my.cnf dest=/etc/my.cnf
- name: 初始化数据库
shell: /opt/mysql-5.7.35-el7-x86_64/bin/mysqld --initialize
- name: 再次更改数据目录权限
file: path=/data owner=mysql group=mysql recurse=yes
- name: 复制开机启动文件
copy: src=mysqld.service dest=/lib/systemd/system/
- name: 添加/etc/profile环境变量
lineinfile: dest=/etc/profile line="export PATH=$PATH:/opt/mysql-5.7.35-el7-x86_64/bin"
- name: 生效环境变量
shell: "source /etc/profile"
- name: 添加/root/.bashrc环境变量
shell: /bin/echo "export PATH=$PATH:/opt/mysql-5.7.35-el7-x86_64/bin" >> /root/.bashrc; source /root/.bashrc
- name: 设置开机自启动
service: name=mysqld state=started enabled=yes

my.cnf简易配置:

[client]
port = 3306
socket = /data/tmp/mysql.sock
[mysqld]
user= mysql
port = 3306
basedir = /opt/mysql-5.7.35-el7-x86_64
datadir = /data/mysql
tmpdir = /data/tmp
socket = /data/tmp/mysql.sock
pid-file = /data/log/mysql.pid
log_error = /data/log/error.log
slow_query_log_file = /data/log/slow.log

mysqld.service使用systemctl管理mysql服务:

[Unit]
Description=mysqld
After=network.target

[Service]
Type=forking
ExecStart=/opt/mysql-5.7.35-el7-x86_64/support-files/mysql.server start
ExecReload=/opt/mysql-5.7.35-el7-x86_64/support-files/mysql.server restart
ExecStop=/opt/mysql-5.7.35-el7-x86_64/support-files/mysql.server stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

部署阶段:

验证机器连通性:

Ansible使用playbook自动化批量安装MySQL5.7

检查语法:

Ansible使用playbook自动化批量安装MySQL5.7

语法错误修正后执行:

Ansible使用playbook自动化批量安装MySQL5.7

检查安装结果:

Ansible使用playbook自动化批量安装MySQL5.7

可以看到mysql进程和3306端口已启动。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   25   0   0 mysql
  TEZNKK3IfmPf   2024年05月17日   48   0   0 sqlmysql
  TEZNKK3IfmPf   2024年05月17日   30   0   0 ansible安装
  TEZNKK3IfmPf   2024年05月31日   29   0   0 数据库mysql
  TEZNKK3IfmPf   2024年05月17日   48   0   0 查询mysql索引
  TEZNKK3IfmPf   2024年05月17日   50   0   0 jsonmysql
  TEZNKK3IfmPf   2024年05月17日   48   0   0 mysqlphp
  TEZNKK3IfmPf   2024年05月31日   27   0   0 数据库mysql
TEZNKK3IfmPf