Ansible部署MySQL编译安装

环境:
系统: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编译安装的更多相关文章
- 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装
系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...
- mysql 编译安装
mysql 编译安装方式: ```cd /home/oldboy/tools``` 创建 目录 if not have then mkd ...
- centos mysql 编译安装
centos mysql 编译安装 1.安装 创建MySQL用户 sudo useradd mysql 下载MySQL的源码包,我们这里使用的时5.5.18 安装依赖 sudo yum -y inst ...
- Nginx PHP MySql 编译安装
以CentOS5.6为平台编译安装.确保系统已经安装gcc/gcc-c++编译器! 1.Nginx-1.0.14 2.PHP-5.3.10 3.MySql-5.1.61 安装相关依赖开发库: auto ...
- Mysql编译安装及优化
采取编译安装的方法,其好处为:编译安装与平台无关,安装的MySQL目录独立,维护起来方便,而且拥有更好的性能. 环境:CentOS release 6.9 (Final) x86_64 1)下载my ...
- mysql编译安装(详细)(转载)
mysql编译安装(详细) 一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从 ...
- 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 ...
- Linux(centos)下mysql编译安装教程
Linux下mysql编译安装教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 本文測试环境centOS6.6 一.Linux下编译安装MyS ...
- 2、mysql编译安装
2.1前言: 此文档介绍的是cmake编译安装的方式: 二进制的安装方式在linux运维_集群_01中有详细的安装说明(已经编译完成,进行初始操作即可) 初始化操作时需要对编译好的mysql进行一下备 ...
随机推荐
- 关于p命名空间和c命名空间 外加一个context
P命名空间注入 : 需要在头文件中加入约束文件 导入约束 : xmlns:p="http://www.springframework.org/schema/p" 如 xmlns=& ...
- 【ASP.NET Core】配置应用程序地址的N多种方法
下面又到了老周误人子弟的时间,今天要误大伙的话题是:找找有多少种方法可以设置 ASP.NET Core 应用的地址,即 URL. 精彩马上开始! 1.UseUrls 方法 这是一个扩展方法,参数是可变 ...
- Maven笔记---超详细
显眼位置标注来源:此文章为B站课程黑马程序员Maven全套教程笔记,由本人整理. Maven简介 Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM) POM (P ...
- Eureka属性配置
一:Eureka Instance实例信息配置 里面的配置以"-"隔开 其实也支持驼峰命名代替"-" 首先是入门时的配置: server: port: 80 ...
- JavasScript打印年月日时间代码
就是Date的API,直接上代码啦. //打印中文的日期 function printChineseDateTime() { var now=new Date(); var str = now.get ...
- 无法打开虚拟机“master”(D:\文档\Virtual Machines\master\master.vmx):未找到文件。是否从库中移除“master”?
今天打开虚拟机的时候,出现了这样的弹窗提示: 无法打开虚拟机"master"(D:\文档\Virtual Machines\master\master.vmx):未找到文件.是否从 ...
- element ui 自定义主题失败(primordials is not defined)
卸载: 1.卸载cnpm npm uninstall cnpm -g 2.卸载vue-cli npm uninstall @vue/cli -g 3.卸载nodejs和删除文件 C:\Program ...
- bat-静默安装并配置mysql(windows版)
mysql版本 mysql-5.6.35-winx64 路径关系 @echo off Setlocal enabledelayedexpansion @REM vscode中自动开启延迟环境变量扩展, ...
- ssh-配置及使用
ssh配置文件 SSH的配置文件在/etc/ssh/目录下 openssh-client安装后,生成的配置文件为ssh_config,主要用于连接其他linux主机时,加载此文件 op ...
- Java开发问题:Column 'AAA' in where clause is ambiguous解决办法
当在java开发中遇到了Column 'AAA' in where clause is ambiguous问题时, 你需要去看看:多表查询的时候不同的表是否出现了相同名称相同的列, 如果存在,你需要在 ...