通过saltstack源码安装mysql

tree /srv/salt

/srv/salt

|-- mysql

|   |-- conf.sls

|   |-- files

|   |  |-- conf.sh

|   |  |-- my.cnf

|   |  |-- mysql-5.5.33.tar.gz

|   |  |-- mysqld

|   |  `-- mysqllns.sh

|   |-- init.sls

|   `-- install.sls

`-- top.sls

cat /srv/salt/top.sls

base:

‘*‘:

- tree

mysqldb:

- match: nodegroup

- mysql

cat /etc/salt/master |grep -v"^$" |grep -v "#"

auto_accept: True

file_roots:

base:

- /srv/salt

nodegroups:

mysqldb: ‘[email protected]_server_name‘

cat /srv/salt/mysql/init.sls

include:

- mysql.install

- mysql.conf

cat /srv/salt/mysql/init.sls

include:

- mysql.install

- mysql.conf

cat /srv/salt/mysql/install.sls

#install source mysql

mysql_source:

file.managed:

- name:/home/mysql-5.5.33.tar.gz

- unless: test -e/home/mysql-5.5.33.tar.gz

- source:salt://mysql/files/mysql-5.5.33.tar.gz

#tar source mysql

extract_mysql:

cmd.run:

- cwd: /home

- names:

- tar xfmysql-5.5.33.tar.gz

- chown root:root/home/mysql-5.5.33 -R

- unless: test -d/home/mysql-5.5.33

- require:

- file: mysql_source

#useradd for mysql

mysql_user:

user.present:

- name: mysql

- uid: 1024

- createhome: True

- gid_from_name: True

- shell: /sbin/nologin

#mysql pkg.install

mysql_pkg:

pkg.installed:

- pkgs:

- gcc

- gcc-c++

- autoconf

- automake

- openssl

- openssl-devel

- zlib

- zlib-devel

- ncurses-devel

- libtool-ltdl-devel

- cmake

#mysql source install

mysql_commpile:

cmd.run:

- cwd: /home/mysql-5.5.33

- names:

- cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATTON=utf8_cuicode_ci  -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1  -DENABLED_LOCAL_INFILE=1-DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_DEBUG=0

- make

- make install

- require:

- cmd: extract_mysql

- pkg: mysql_pkg

- unless: test -d/usr/local/mysql

cat /srv/salt/mysql/conf.sls

#include:

#  - mysql.install

# mysql for config

mysql_cnf:

file.managed:

- name: /etc/my.cnf

- user: root

- mode: 755

- source:salt://mysql/files/my.cnf

# mysql init

salt://mysql/files/conf.sh:

cmd.script:

- env:

- BATCH: ‘yes‘

- require:

- cmd: mysql_commpile

- pkg: mysql_pkg

salt://mysql/files/mysqllns.sh:

cmd.script:

- env:

- BATCH: ‘yes‘

- require:

- cmd: mysql_commpile

- pkg: mysql_pkg

# mysql server

mysql_service:

file.managed:

- name: /etc/init.d/mysqld

- user: root

- mode: 755

- source: salt://mysql/files/mysqld

cmd.run:

- names:

- /sbin/chkconfig --addmysqld

- /sbin/chkconfig --level235 mysqld on

- unless: /sbin/chkconfig--list mysqld

service.running:

- name: mysqld

- enable: True

- reload: True

cat/srv/salt/mysql/files/conf.sh

#!/bin/bash

/usr/local/mysql/scripts/mysql_install_db --user=mysql--basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

cat/srv/salt/mysql/files/mysqllns.sh

#!/bin/bash

#lns

ln -sv /usr/local/mysql/bin/mysql /usr/bin

ln -sv /usr/local/mysql/bin/mysqladmin /usr/bin/

ln -sv /usr/local/mysql/bin/mysqldump /usr/bin/

ln -sv /var/lib/mysql/mysql.sock /tmp/mysql.sock

#mysq competence

/bin/chown -R mysql.mysql /usr/local/mysql/ && /bin/chown -Rmysql.mysql /usr/local/mysql/data/

另外3个文件,

my.cnf是配置文件,参考标准的

mysql-5.5.33.tar.gz是源文件

mysqld是服务脚本文件,参考标准的。

最后在salt-master执行命令,可在minion完成自动安装mysql,耗时10分钟左右;如中间有错误,修改后再次执行,原先执行过的没变的步骤不会再执行。

salt -N ‘mysqldb‘state.highstate

源码安装是最麻烦的,如果通过yum安装会更加简单。

时间: 2024-11-05 10:26:54

通过saltstack源码安装mysql的相关文章

Centos下用Saltstack源码安装Mysql

简介: SaltStack是 一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基 于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq.PyCrypto.Pyjinjia2. python-msgpack和PyYAML等)构建. 最近工作比较闲,所以继续学习saltstack,今天就用源码来安装Mysql数据库,学saltstack还是得多实践,废话不多说,上干

源码安装mysql

创建mysql组:groupadd mysql 创建mysql用户并赋予这个mysq组中,不创建家目录,不允许用户登录.(因为刚刚创建的mysql是虚拟用户,所以不允许登录)useradd mysql -g mysql -M -s /bin/nologin 源码安装mysql 解压后进行编译安装:./configure \--prefix=/application/mysql5.1.72 \--with-unix-socket-path=/application/mysql5.1.72/tmp/

saltstack 系列(四)centos7使用saltstack源码安装nginx

使用saltstack源码安装nginx,首先先看一下我nginx的目录  tree一下,我们只需要关系nginx-install.sls 和nignx-service.sls.clu-vhost是我用python写的自动添加集群和自动更新踢出集群,后面会讲到. nginx ├── files │   ├── clu-vhost │   │   ├── 11.py │   │   ├── content.txt │   │   ├── epel-release-latest-7.noarch.r

CentOS 7下源码安装MySQL 5.7

网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点是安装速度快,安装步骤简单,缺点是安装包很大,300M左右(5.7版本的是600M左右), 对于第二种方法,我搞了一天,无果,到某个环节实在是无法走通,老大那边也不让搞了,隔了几天老大又吩咐我在生产服务器上安装mysql,这次我就按照第一种方法源码安装方式 下载源码安装包 http://dev.my

源码安装mysql,及主从同步

源码安装mysql [可选] 如果用源码安装cmake软件: cd /home/oldboy/tools/ tar xf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./configure #CMake has bootstrapped. Now run gmake. gmake gmake install cd ../ 依赖包安装(这里直接可以用yum安装cmake) # yum install cmake gcc gcc-c++ gcc-g77 autoconf au

centos6.5下源码安装mysql密码修改

Centos下源码安装mysql密码破解方法: 方法一:首先停止mysql服务,: /etc/init.d/mysqldstop 停止mysql ps -ef |grep mysql 查看mysql是否关闭 然后以跳过权限方式后台启动 /usr/local/mysql/bin/mysqld_safe--skip-grant-tables --user=mysql & /usr/local/mysql/bin/mysql进入mysql 或者执行mysql回车进入mysql,然后修改密码. 修改My

Linux 源码安装mysql

源码安装mysql tar zxf mysql-boost-5.7.11.tar.gz rpm -ivh cmake-2.8.12.2-4.el6.x86_64.rpm yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y cd mysql-5.7.11/ yum install gcc-c++ ncurses-devel bison -y 检测 [[email protected]]# cmake -DCMAKE_INSTALL_PREFIX=/usr/

CentOS 6.4 源码安装MySQL 5.6

1.安装前准备工作 1.1 必备的包 gcc/g++ :MySQL 5.6开始,需要使用g++进行编译.cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本.bison :MySQL语法解析器需要使用bison进行编译.ncurses-devel :用于终端操作的开发包. 1.2 MySQL编译参数 CMAKE_BUILD_TYPE 编译的版本类型:RelWithDebInfo和Debug,不同之处是RelWithDebInfo会进行优化.CMAKE_I

linux上源码安装MySQL详解

最近需要使用MySQL Fabric,这货是MySQL5.6.10之后才出现的utility.手头机器装的是MySQL5.1,所以需要先把旧版MySQL升级成5.6版本.之前没有玩过MySQL,所以这次稍微费了点事.在此,把过程记录下来,希望能给有需求的人提供一点帮助.下面我们就正式开始. 1. 删除老版本MySQL 其实删除老版MySQL是一件很简单的事,但是开始时候由于担心各个包的依赖会导致各种问题,亦步亦趋来得很慢.其实只需要做到这么几步就可以了: 1.1 查看已安装的mysql版本并删除