为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
MySQL


环境:

salt_master:192.168.100.228

salt_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.sls

1 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 mysql

mysql_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 mysql

extract_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 mysql

mysql_user:

  user.present:

    - name: mysql

    - uid: 1024

    - createhome: False

    - 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.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 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.run: 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 --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

#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/

#mysq competence

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

[root@salt_server mysql]#

©著作权归作者所有:来自51CTO博客作者devilangel的原创作品,如需转载,请注明出处,否则将追究法律责任

自动化saltstacksalt安装mysqlsaltstack


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消