实战使用saltstack源码安装配置mysql

本文介绍如何使用SaltStack自动化工具进行MySQL 5.5版本的部署流程,包括安装、配置及初始化等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:

1
2
salt_master:192.168.100.228
salt_client1:192.168.100.245
1
2
3
4
5
6
7
8
9
10
11
12
13
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]#

开始安装部署文件:

1
2
3
4
5
6
top.sls文件
[root@salt_server base]# cat top.sls
base:
'salt_client*':
- nginx
[root@salt_server base]#

目录结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[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的主配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
[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 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[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]#

配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[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]#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值