|
环境:
12salt_master:192.168.100.228salt_client1:192.168.100.24512345678910111213master client 版本一致[iyunv@salt_server base]# salt --versions-reportSalt: 0.17.5Python: 2.6.6 (r266:84292, Jun 18 2012, 14:18:47)Jinja2: unknownM2Crypto: 0.20.2msgpack-python: 0.1.13msgpack-pure: Not Installedpycrypto: 2.0.1PyYAML: 3.10PyZMQ: 2.2.0.1ZMQ: 3.2.3[iyunv@salt_server base]# 开始安装部署文件:
123456top.sls文件[iyunv@salt_server base]# cat top.slsbase:'salt_client*':- nginx[iyunv@salt_server base]# 目录结构:
123456789101112131415161718[iyunv@salt_server base]# tree mysql/mysql/├── conf.sls├── files│ ├── conf.sh│ ├── my.cnf│ ├── mysql-5.5.22.tar.gz│ ├── mysqld│ └── mysqllns.sh├── init.sls└── install.sls1 directory, 8 files[iyunv@salt_server base]#[iyunv@salt_server mysql]# cat init.slsinclude:- mysql.install- mysql.conf[iyunv@salt_server mysql]# 安装mysql的主配置文件:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253[iyunv@salt_server mysql]# cat install.sls#install source mysqlmysql_source:file.managed:- name:/home/mysql-5.5.22.tar.gz- unless:test -e /home/mysql-5.5.22.tar.gz-source: salt://mysql/files/mysql-5.5.22.tar.gz#tar source mysqlextract_mysql:cmd.run:- cwd:/home- names:-tar xf mysql-5.5.22.tar.gz-chown root:root/home/mysql-5.5.22 -R- unless:test -d /home/mysql-5.5.22- require:-file: mysql_source#useradd for mysqlmysql_user:user.present:- name: mysql- uid: 1024- createhome: False- gid_from_name: True- shell:/sbin/nologin#mysql pkg.installmysql_pkg:pkg.installed:- pkgs:- gcc- gcc-c++- autoconf- automake- openssl- openssl-devel- zlib- zlib-devel- ncurses-devel- libtool-ltdl-devel- cmake#mysql source installmysql_commpile:cmd.run:- cwd:/home/mysql-5.5.22- 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.run: extract_mysql- pkg: mysql_pkg- unless:test -d /usr/local/mysql[iyunv@salt_server mysql]#
mysql config 文件:
1234567891011121314151617181920212223242526272829303132333435[iyunv@salt_server mysql]# cat conf.slsinclude:- mysql.install# mysql for configmysql_cnf:file.managed:- name:/etc/my.cnf- user: root- mode: 755-source: salt://mysql/files/my.cnf# mysql initsalt://mysql/files/conf.sh:cmd.script:-env:- BATCH:'yes'- require:- cmd.run: mysql_commpile- pkg: mysql_pkg# mysql servermysql_service:file.managed:- name:/etc/init.d/mysqld- user: root- mode: 755-source: salt://mysql/files/mysqldcmd.run:- names:-/sbin/chkconfig --add mysqld-/sbin/chkconfig --level 35 mysqld on- unless:/sbin/chkconfig --list mysqldservice.running:- name: mysqld-enable: True- reload: True[iyunv@salt_server mysql]# 配置文件:
123456789101112131415161718192021[iyunv@salt_server mysql]# tree files/files/├── conf.sh初始化文件├── my.cnf配置文件├── mysql-5.5.22.tar.gz安装包├── mysqld启动脚本└── mysqllns.sh软连接0 directories, 5 files[iyunv@salt_server mysql]#[iyunv@salt_server mysql]# cat files/conf.sh#!/bin/bash/usr/local/mysql/scripts/mysql_install_db--user=mysql --basedir=/usr/local/mysql/--datadir=/usr/local/mysql/data/[iyunv@salt_server mysql]# cat files/mysqllns.sh#!/bin/bash#lnsln -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/#mysq competence/bin/chown-R mysql.mysql /usr/local/mysql/&& /bin/chown -R mysql.mysql /usr/local/mysql/data/[iyunv@salt_server mysql]# |
|
|
|
|
|
|