在CentOS6上使用saltstack源码安装配置mysql

时间:2021-07-02 17:10:38

环境:

salt_master:192.168.100.228salt_client1:192.168.100.245
master client 版本一致[root@salt_server base]# salt --versions-report           Salt: 0.17.5         Python: 2.6.6 (r266:84292, Jun 18 2012, 14:18:47)         Jinja2: unknown       M2Crypto: 0.20.2 msgpack-python: 0.1.13   msgpack-pure: Not Installed       pycrypto: 2.0.1         PyYAML: 3.10          PyZMQ: 2.2.0.1            ZMQ: 3.2.3[root@salt_server base]#

开始安装部署文件:

top.sls文件[root@salt_server base]# cat top.sls base:  'salt_client*':      - mysql[root@salt_server base]#

目录结构:

[root@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[root@salt_server base]# [root@salt_server mysql]# cat init.sls include:  - mysql.install  - mysql.conf[root@salt_server mysql]#

安装mysql的主配置文件:

[root@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[root@salt_server mysql]#


mysql config 文件:

[root@salt_server mysql]# cat conf.sls include:  - 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/mysqld   cmd.run:     - names:         - /sbin/chkconfig --add mysqld         - /sbin/chkconfig --level 35 mysqld on     - unless: /sbin/chkconfig --list mysqld   service.running:     - name: mysqld     - enable: True     - reload: True[root@salt_server mysql]#

配置文件:

[root@salt_server mysql]# tree files/files/├── conf.sh初始化文件├── my.cnf配置文件├── mysql-5.5.22.tar.gz安装包├── mysqld启动脚本└── mysqllns.sh软连接0 directories, 5 files[root@salt_server mysql]# [root@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/[root@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/[root@salt_server mysql]#


本文出自 “opsnotes.net” 博客,请务必保留此出处http://devliangel.blog.51cto.com/469347/1547824