环境:

系统:centos7 x3

master:192.168.220.133

slave1:192.168.220.136

slave2:192.168.220.137

前期准备:

slave1(192.168.220.136):

[root@slave1~]# hostnamectl set-hostname slave1
[root@slave1~]# echo '192.168.220.136 slave1' >> /etc/hosts

slave1(192.168.220.137):

[root@slave1~]# hostnamectl set-hostname slave2
[root@slave1~]# echo '192.168.220.137 slave2' >> /etc/hosts

master(192.168/220/133):

[root@master ~]# yum -y install wget #下载wget工具

[root@master ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo #下载阿里Base源

[root@master ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo #下载阿里epel源

[root@master~]# echo '192.168.220.136 slave1 \n 192.168.220.137 slave2' >> /etc/hosts

  免密登录:

[root@master ~]# ssh-keygen
[root@master ~]# for i in slave1 slave2
>do
>ssh-copy-id $i
>done

安装Ansible

[root@master ~]# yum install ansible -y

定义Ansible主机清单

  • ansible主配置文件:/etc/ansible/ansible.cfg

  • ansible默认清单文件:/etc/ansible/hosts

编辑清单文件定义主机组

[root@master ~]# vim /etc/ansible/hosts
[websrvs]
192.168.220.136
192.168.220.137

从master上拷贝cmake和MySQL(master上提前上传了)

ansible webserv -m copy -a 'src=/root/cmake-2.8.6.tar.gz /root/mysql-5.6.36.tar.gz dest=/root && src=/root/cmake-2.8.6.tar.gz /root/mysql-5.6.36.tar.gz dest=/root/'

解压tar包

ansible webserv -m shell -a 'tar -zxf cmake-2.8.6.tar.gz -C /usr/src && tar -zxf mysql-5.6.36.tar.gz -C /usr/src'

安装环境perl运行组件

ansible webserv -m shell -a 'yum remove mysql -y && yum install -y ncurses-devel gcc gcc-c++ perl perl-devel perl-DBD*'

编辑安装make

nsible webserv -m shell -a 'cd /usr/src/cmake-2.8.6 && ./configure && gmake && gmake install'

编译安装MySQL

ansible webserv -m shell -a 'cd  /usr/src/mysql-5.6.36 && cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all && cd  /usr/src/mysql-5.6.36 && make && make install'

拷贝配置文件

ansible webserv -m shell -a 'rm -rf /etc/my.cnf && cp /usr/src/mysql-5.6.36/support-files/my-default.cnf /etc/my.cnf && cp /usr/src/mysql-5.6.36/support-files/mysql.server /etc/rc.d/init.d/mysqld && chmod a+x /etc/rc.d/init.d/mysqld'

添加MySQL服务到管理器

 ansible webserv -m shell -a 'chkconfig --add mysqld && chkconfig mysql on'

优化MySQL命令路径

ansible webserv -m shell -a 'ln -s /usr/local/mysql/bin/* /usr/local/bin'

初始化MySQL

ansible webserv -m shell -a '/usr/local/mysql/scripts/mysql_install_db --user=mysql --group=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data'

启动MySQL服务

ansible webserv -m shell -a 'systemctl start mysqld'

此时就安装MySQL完成了!!!

Ansible部署MySQL编译安装的更多相关文章

  1. 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装

    系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...

  2. mysql 编译安装

    mysql 编译安装方式:   ```cd /home/oldboy/tools```                创建 目录          if not have   then     mkd ...

  3. centos mysql 编译安装

    centos mysql 编译安装 1.安装 创建MySQL用户 sudo useradd mysql 下载MySQL的源码包,我们这里使用的时5.5.18 安装依赖 sudo yum -y inst ...

  4. Nginx PHP MySql 编译安装

    以CentOS5.6为平台编译安装.确保系统已经安装gcc/gcc-c++编译器! 1.Nginx-1.0.14 2.PHP-5.3.10 3.MySql-5.1.61 安装相关依赖开发库: auto ...

  5. Mysql编译安装及优化

    采取编译安装的方法,其好处为:编译安装与平台无关,安装的MySQL目录独立,维护起来方便,而且拥有更好的性能. 环境:CentOS release 6.9 (Final)  x86_64 1)下载my ...

  6. mysql编译安装(详细)(转载)

    mysql编译安装(详细)   一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从 ...

  7. rpm安装MySQL5.5后配置,在centos5上;mysql编译安装在centos6.5上;

    [1] 没有/etc/my.cnf: rpm包安装的MySQL是不会安装/etc/my.cnf文件的:处理:cp /usr/share/mysql/my-huge.cnf /etc/my.cnf [2 ...

  8. Linux(centos)下mysql编译安装教程

    Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...

  9. 2、mysql编译安装

    2.1前言: 此文档介绍的是cmake编译安装的方式: 二进制的安装方式在linux运维_集群_01中有详细的安装说明(已经编译完成,进行初始操作即可) 初始化操作时需要对编译好的mysql进行一下备 ...

随机推荐

  1. HTML5续集

    H5 input新增属性 1.color 拾色器 2.Email 电子邮件 3.tel 电话 4.datetime-local 本地日期和时间 5.range 范围 6.url 路径,地址 7.sea ...

  2. leetcode 4. Median of Two Sorted Arrays 寻找两个正序数组的中位数(困难)

    一.题目大意 标签: 查找 https://leetcode.cn/problems/median-of-two-sorted-arrays 给定两个大小分别为 m 和 n 的正序(从小到大)数组 n ...

  3. android系统中有哪些日志

    日志目录 android系统中还有很多常用的日志目录.我们可以通过adb命令把这些日志信息提取出来. data/system/dropbox data/system/usagestats data/s ...

  4. vue根据后端菜单自动生成路由(动态路由)

    vue根据后端菜单自动生成路由(动态路由) router.js import Vue from 'vue' import Router from 'vue-router' import store f ...

  5. 内存泄漏定位工具之 valgrind 使用

    1 前言 前面介绍了 GCC 自带的 mtrace 内存泄漏检查工具,该篇主要介绍开源的内存泄漏工具 valgrind,valgrind 是一套 Linux 下,开放源代码的动态调试工具集合,能够检测 ...

  6. 记一次重复造轮子(Obsidian 插件设置说明汉化)

    杂谈 #Java脚本 因本人英语不好在使用Obsidian时,一些插件的设置英文多令人头痛.故有写一个的翻译插件介绍和设置脚本的想法.看到有些前人写的一下翻译方法,简直惨目忍睹.竟然要手动.这个应该写 ...

  7. 【ArcGIS教程】专题图制作-人口密度分布图——人口密度分析

    ​  本篇以湖北省为例,制作人口密度分布图:这里所使用的为湖北省的省.市.县三个级别的行政区划矢量数据,以及居民点数据,进而进行密度分析. 示例数据来源于地理遥感生态网,网站地址www.gisrs.c ...

  8. 基于MATLAB静态目标分割的药板胶囊检测

    一.目标 1 将药板从黑色背景中分离(药板部分显示为白色,背景显示为黑色): 2 根据分割结果将药板旋转至水平: 3 提取药板中的药丸的位置信息: 二.方法描述 处理图像如下: (1)首先将图像转为灰 ...

  9. 揭开周获 18k star 开源项目的神秘面纱「GitHub 热点速览 v.22.28」

    本周 GitHub Trending 的项目重量十足,比如标题的一周获得 18k+ 的高性能 JS Runtime--bun,用性能来体现了它的"含金量".同样有重量的还有一行代码 ...

  10. OneOS家族,LITE版小兄弟诞生了!

    号外,号外!OneOS-Lite诞生啦!前有大哥OneOS,以及一众优秀的RTOS,正所谓珠玉在前,我很难啊.但我可不能怂,大哥叫小O,我就叫小L,站在大哥的肩上,小小L也有发光发热的机会. 小L代码 ...