saltsack自动化配置day03:服务部署mysql部署
一、MySQL集群需求分享
1、抽象:功能模块
- 把基础的写成通用
- 服务部署也要抽象出来模块
- redis内存有的多,有的少,可以config set在线更改
- redis 安装、配置、启动
- mysql 安装、配置(my.cnf可以统一 目录默认配置可以统一)
master: server_id 1111 slave: server_id 2222
二、mysql 主从实现思路
2.1 mysql-install.sls 安装 配置 初始化
把基础的写成通用
2.2 my.cnf配置不同-server id
my.cnf不一样的数据include,线上十几个mysql集群,我很多业务需要用我就include
1、按类型分的场景
我只有四台机器
2、按业务分
业务很大,每个业务都是不同的东西
2.3 创建主从同步用户
- 所有MySQ主从一样好不好?
- 没有从没关系就是创建一个用户而已
2.4 master上获取binlog 和 pos值
show master status
2.5 slave上
change master && start slave
2.6 检查主从状态
GRANT replication slave on
二、MySQL集群配置实战
1、没有按照官方的是按照自己的cmd.run
虽然推荐你使用他自己写的模块,但有的时候用它的写的反而复杂了,那你就要勇敢的放弃
很多时候绕就是因为你对需求理解的不够深刻,针对不同的服务做不一样的选择
2、目录结构
[root@saltstack mysql]# pwd /srv/salt/prod/modules/mysql [root@saltstack mysql]# tree -L 2 . ├── files │ ├── mariadb-server-master.cnf │ ├── mariadb-server-slave.cnf │ └── my.cnf ├── install.sls ├── master.sls └── slave.sls
3、安装
[root@saltstack mysql]# cat install.sls mysql-install: pkg.installed: - pkgs: - mariadb - mariadb-server mysql-config: file.managed: - name: /etc/my.cnf - source: salt://modules/mysql/files/my.cnf - user: root - group: root - mode: 644
4、master.sls
[root@saltstack mysql]# cat master.sls include: - modules.mysql.install master-config: file.managed: - name: /etc/my.cnf.d/mariadb-server.cnf - source: salt://modules/mysql/files/mariadb-server-master.cnf - user: root - group: root - mode: 644 master-service: service.running: - name: mariadb - enable: True
5、slave.sls
[root@saltstack mysql]# cat slave.sls include: - modules.mysql.install slave-config: file.managed: - name: /etc/my.cnf.d/mariadb-server.cnf - source: salt://modules/mysql/files/mariadb-server-slave.cnf - user: root - group: root - mode: 644 slave-service: service.running: - name: mariadb - enable: True
6、mariadb-server-master.cnf
[root@saltstack files]# cat mariadb-server-master.cnf [mysqld] log_bin=mysqlbin server_id=1111 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid
7、mariadb-server-slave.cnf
[root@saltstack files]# cat mariadb-server-slave.cnf [mysqld] log_bin=mysqlbin server_id=2222 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid
作者:罗阿红
出处:http://www.cnblogs.com/luoahong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。