环境:

系统: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. 关于p命名空间和c命名空间 外加一个context

    P命名空间注入 : 需要在头文件中加入约束文件 导入约束 : xmlns:p="http://www.springframework.org/schema/p" 如 xmlns=& ...

  2. 【ASP.NET Core】配置应用程序地址的N多种方法

    下面又到了老周误人子弟的时间,今天要误大伙的话题是:找找有多少种方法可以设置 ASP.NET Core 应用的地址,即 URL. 精彩马上开始! 1.UseUrls 方法 这是一个扩展方法,参数是可变 ...

  3. Maven笔记---超详细

    显眼位置标注来源:此文章为B站课程黑马程序员Maven全套教程笔记,由本人整理. Maven简介 Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM) POM (P ...

  4. Eureka属性配置

    一:Eureka Instance实例信息配置   里面的配置以"-"隔开 其实也支持驼峰命名代替"-" 首先是入门时的配置: server: port: 80 ...

  5. JavasScript打印年月日时间代码

    就是Date的API,直接上代码啦. //打印中文的日期 function printChineseDateTime() { var now=new Date(); var str = now.get ...

  6. 无法打开虚拟机“master”(D:\文档\Virtual Machines\master\master.vmx):未找到文件。是否从库中移除“master”?

    今天打开虚拟机的时候,出现了这样的弹窗提示: 无法打开虚拟机"master"(D:\文档\Virtual Machines\master\master.vmx):未找到文件.是否从 ...

  7. element ui 自定义主题失败(primordials is not defined)

    卸载: 1.卸载cnpm npm uninstall cnpm -g 2.卸载vue-cli npm uninstall @vue/cli -g 3.卸载nodejs和删除文件 C:\Program ...

  8. bat-静默安装并配置mysql(windows版)

    mysql版本 mysql-5.6.35-winx64 路径关系 @echo off Setlocal enabledelayedexpansion @REM vscode中自动开启延迟环境变量扩展, ...

  9. ssh-配置及使用

    ssh配置文件 SSH的配置文件在/etc/ssh/目录下     openssh-client安装后,生成的配置文件为ssh_config,主要用于连接其他linux主机时,加载此文件     op ...

  10. Java开发问题:Column 'AAA' in where clause is ambiguous解决办法

    当在java开发中遇到了Column 'AAA' in where clause is ambiguous问题时, 你需要去看看:多表查询的时候不同的表是否出现了相同名称相同的列, 如果存在,你需要在 ...