环境:

系统: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. Java开发学习(一)----初识Spring及其核心概念

    一. Spring系统架构 1.1 系统架构图 Spring Framework是Spring生态圈中最基础的项目,是其他项目的根基. Spring Framework的发展也经历了很多版本的变更,每 ...

  2. 工具分享:清理 Markdown 中没有引用的图片

    前言: 之前,我写笔记的工具一直都是 notion,而且没有写博客的习惯.但是一是由于 notion 的服务器在国外,有时候很不稳定:二是由于 notion 的分享很不方便,把笔记分享给别人点开链接之 ...

  3. MySQL - 数据库的隔离级别

    MySQL - 数据库的隔离级别 隔离级别 脏读(Dirty Read) 不可重复读(NonRepeatable Read) 幻读(Phantom Read) 未提交读(Read uncommitte ...

  4. docker和docker compose安装使用、入门进阶案例

    一.前言 现在可谓是容器化的时代,云原生的袭来,导致go的崛起,作为一名java开发,现在慌得一批.作为知识储备,小编也是一直学关于docker的东西,还有一些持续继承jenkins. 提到docke ...

  5. mybatis踩过的坑

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...

  6. springboot执行流程

    构造方法初始化,创建一个新的实例,这个应用程序的上下文要从指定的来源加载bean public SpringApplication(ResourceLoaderresourceLoader,Class ...

  7. JS:三目运算符

    语法:条件表达式?表达式1:表达式0 注:当条件表达式为true则选择表达式1,反之false则选择表达式0 例: var a = 0; var b = 1; re=a>b?a:b consol ...

  8. SAP Web Dynpro-版本管理

    您可以使用版本管理来管理对象的旧版本,比较版本,也可以重置它们. 在版本管理中,您可以存储ABAP开发对象的不同版本. 在ABAP工作台中,您可以比较不同版本的- 视图 视窗 控制器 您也可以存储对象 ...

  9. arcgis创建postgre企业级数据库

    什么是企业级地理数据库? 企业级地理数据库(ArcSD Enterprise,sde)是和 arcGIS 套件集成程度最高的地理数据库:创建时需要用到安装 arcGIS Server 时的 [ecp ...

  10. Linux YUM 配置源

    Linux Yum 简介 YUM是交互式的以rpm为基础的软件包管理工具.YUM可以根据仓库的元数据信息,去自动的实现系统更新,包括依赖性分析,过期软件包处理.我们也可以利用yum来进行软件安装,删除 ...