saltstack安装mysql_(八)saltstack项目实战_安装mysql

该博客介绍了如何使用SaltStack自动化部署MySQL的过程,包括安装MySQL、查看salt配置文件、配置目录结构、编写SLS文件以及模拟执行安装。在SLS文件中详细定义了安装依赖、解压源码、创建用户、编译安装、配置服务等步骤,并提供了my.cnf配置文件和启动脚本的内容。最后通过`salt 'node2' state.highstate`命令测试和执行了部署流程。
摘要由CSDN通过智能技术生成

1.1安装mysql

2.2查看salt-master、salt-minion配置文件

[[email protected] ~]# grep -Ev ‘^#|^$‘ /etc/salt/master

interface: 0.0.0.0

file_roots:

base:

- /data/etc/salt

prod:

- /data/etc/salt/prod

log_file: /data/logs/salt/master

[[email protected] ~]# grep -Ev ‘^#|^$‘ /etc/salt/minion

master: 172.168.200.210

id: node2

log_file: /data/logs/salt/minion

2.3 查看salt mysql目录结构

[[email protected] ~]# cd /data/etc/salt

[[email protected] salt]# tree mysql/

mysql/

|-- conf.sls                    -> mysql salt配置文件

|-- files

|   |-- my.cnf                  -> mysql配置文件

|   |-- mysql-5.6.32.tar.gz     -> mysql软件包

|   `-- mysqld                  -> mysql启动脚本

|-- init.sls                    -> salt初始化文件

`-- install.sls                 -> mysql install文件

2.4 编写 mysql sls文件

[[email protected] salt]# cat top.sls

base:

‘*‘:

- mysql.init

[[email protected] salt]# cd mysql/

[[email protected] mysql]# cat init.sls

include:

- mysql.install

- mysql.conf

[[email protected] mysql]# cat install.sls

#mysql pkg.install

mysql_pkg:

pkg.installed:

- names:

- gcc

- gcc-c++

- autoconf

- automake

- openssl

- openssl-devel

- zlib

- zlib-devel

- ncurses-devel

- libtool-ltdl-devel

- cmake

#install source mysql

mysql_source:

file.managed:

- name: /usr/local/src/mysql-5.6.32.tar.gz

- unless: test -e /usr/local/src/mysql-5.6.32.tar.gz

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

#tar source mysql

extract_mysql:

cmd.run:

- cwd: /usr/local/src

- names:

- tar zxf mysql-5.6.32.tar.gz

- chown -R root:root /usr/local/src/mysql-5.6.32

- unless: tests -d /usr/local/src/mysql-5.6.32

- require:

- file: mysql_source

#useradd for mysql

mysql_user:

user.present:

- name: mysql

- uid: 1024

- createhome: False

- gid_from_name: True

- shell: /sbin/nologin

#mysql source install

mysql_commpile:

cmd.run:

- name: cd /usr/local/src/mysql-5.6.32 && cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6 -DMYSQL_DATADIR=/usr/local/mysql-5.6/data -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6/data/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH-BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_PARTITION_STORAGE_ENGING=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFIL=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0 && make && make install && /usr/local/mysql-5.6/scripts/mysql_install_db --basedir=/usr/local/mysql-5.6/ --datadir=/usr/local/mysql-5.6/data/ --user=mysql

- require:

- cmd: extract_mysql

- pkg: mysql_pkg

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

#mysql initialize

#mysql_initialize:

#  cmd.run:

#    - cwd: /usr/local/mysql-5.6/scripts/

#    - names:

#      - ./mysql_install_db --basedir=/usr/local/mysql-5.6/ --datadir=/usr/local/mysql-5.6/data/ --user=mysql

[[email protected] mysql]# cat conf.sls

include:

- mysql.install

#mysql for config

mysql_cnf:

file.managed:

- name: /usr/local/mysql-5.6/my.cnf

- user: root

- mode: 755

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

#myql server

mysql_service:

file.managed:

- name: /etc/init.d/mysqld

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

- user: root

- mode: 755

cmd.run:

- names:

- /sbin/chkconfig --add mysqld

- /sbin/chkconfig --level 35 mysqld on

- unless: /sbin/chkconfig --list mysqld

2.5 mysql配置文件

[[email protected] ~]# cd /data/etc/salt/mysql/files/

[[email protected] files]# cat my.cnf

[mysqld]

socket=/usr/local/mysql-5.6/data/mysql.sock

datadir=/usr/local/mysql-5.6/data

symbolic-links=0

log-error=/var/log/mysql_error.log

pid-file=/usr/local/mysql-5.6/data/mysqld.pid

slow-query-log-file = /var/log/mysql_slow_querys.log

skip-name-resolve

skip-grant-tables

2.6 mysql启动脚本添加下面路径

[[email protected] files]# cat mysqld

#!/bin/sh

basedir=/usr/local/mysql-5.6/

datadir=/usr/local/mysql-5.6/data/

2.7 模拟执行salt

1

[[email protected] salt]# salt ‘node2‘ state.highstate  test=True    -> 无报错即可

[[email protected] salt]# salt ‘node2‘ state.highstate   ->开始安装mysql

原文:http://chenshoubiao.blog.51cto.com/6159058/1884498

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值