一、MySQL集群需求分享

1、抽象:功能模块

  1. 把基础的写成通用
  2. 服务部署也要抽象出来模块
  3. redis内存有的多,有的少,可以config set在线更改
  4. redis 安装、配置、启动
  5. 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 创建主从同步用户

  1. 所有MySQ主从一样好不好?
  2. 没有从没关系就是创建一个用户而已

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

saltsack自动化配置day03:服务部署mysql部署的更多相关文章

  1. CAS单点登录(SSO)服务端的部署和配置---连接MySQL进行身份认证

    一.修改系统host,加入 127.0.0.1 server.test.com127.0.0.1 client1.test.com127.0.0.1 client2.test.com 二.安装grad ...

  2. puppet开源的软件自动化配置和部署工具——本质就是CS,服务端统一管理配置

    1.  概述 puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,正得到了越来越多地关注,现在很多大型IT公司均在使用puppet对集群中的软件进行管理和部署,如google利用p ...

  3. 部署MySQL自动化运维工具inception+archer

    ***************************************************************************部署MySQL自动化运维工具inception+a ...

  4. mysql部署后无法远程连接的原因(错误代码10061),服务监听127.0.0.1和0.0.0.0的区别

    在Ubuntu上部署mysql服务并添加了一个非root用户后,发现无法远程连接, Navicat连接mysql出现2003——can't connect to mysql server on loc ...

  5. 如何利用 docker 快速部署 Mysql 服务

    docker 基础教程不再多说,这里只着重讲如何使用 docker 部署 mysql 服务 docker 拉取 访问 dockerhub,搜索关键词 mysql,我这里选择 mysql-server, ...

  6. Centos7借助docker部署mysql,提供远程链接服务

    Centos7 借助docker部署mysql,并提供远程连接服务 安装docker 运行docker 注意安装docker和运行docker的步骤很简单,可以参考我学习docker的笔记 docke ...

  7. Cluster基础(一):配置iSCSI服务、编写udev规则、配置并访问NFS共享、部署Multipath多路径环境

    一.配置iSCSI服务 目标: 本案例要求先搭建好一台iSCSI服务器,并将整个磁盘共享给客户端: 虚拟机添加新的磁盘 将新添加的磁盘分区并创建两个逻辑卷 逻辑卷名称分别为:/dev/myvg/isc ...

  8. docker-compose部署mysql配置

    docker-compose部署mysql配置文件如下 version: ' services: mysql: image: mysql environment: - MYSQL_ROOT_PASSW ...

  9. 自动化运维(1)之二进制部署MySQL5.7

    二进制部署MySQL5.7 这个文档用于基础解释,后面通过ansible的自动化对MySQL单实例进行安装部署. 1.解压文件 # tar zxvf mysql-5.7.22-linux-glibc2 ...

随机推荐

  1. 特别好用的eclipse快捷键

    alt+/ 提示 alt+shift+r重命名 alt+shift+j添加文档注释 Ctrl+shift+y小写 Ctrl+shift+x大写 ctrl+shift+f格式化代码(需要取消输入法的简繁 ...

  2. keras+theano+tensorflow+darknet

    keras 安装: 最好在anaconda的虚拟环境下搭建: conda create -n 环境名 python=3.6 进入环境: source activate 环境名 安装keras: pip ...

  3. POJ 3597 Polygon Division 多边形剖分

    题目链接: http://poj.org/problem?id=3597 Polygon Division Time Limit: 2000MSMemory Limit: 131072K 问题描述 G ...

  4. 网络1711-12&信管1711-12 图 作业评分

    先放上本次作业的推荐博客,以及评分细则总表,在最后,会放几张图表对本学期大家的成果进行一个小小的总结,有兴趣的同学可以看看,感受一下自己这个学期的积累和进步.(主要针对网络的同学,信管的同学只有两次作 ...

  5. KEIL C51程序中如何嵌入汇编

    模块内接口:使用如下标志符:#pragma asm汇编语句#pragma endasm注意:如果在c51程序中使用了汇编语言,注意在Keil编译器中需要激活Properties中的“Generate ...

  6. AT89C51的内部4K flash,

    AT89C51的内部4K flash, 是用来下载程序代码的,程序运行时只能做读取数据操作,不能写入.单片机断电时需要候保存数据,可以选择 带EEPROM的单片机 就可以,如STC 系列的单片机有内部 ...

  7. elasticsearch文档-字段的mapping

    mapping == Mapping是指定义如何将document映射到搜索引擎的过程,比如一个字段是否可以查询以及如何分词等,一个索引可以存储含有不同"mapping types" ...

  8. Spring 2.0

    ProductBacklog:继续向下细化; 1.界面美化,统一界面风格,以简洁美观为主: 2.丰富版面的内容,吸引用户: 3.尝试增加新的版面: Sprint 计划会议:确定此次冲刺要完成的目标 1 ...

  9. leetcode动态规划

    http://blog.csdn.net/u012162613/article/details/41428119

  10. 前端基础:HTTP 状态码详解

    HTTP 状态码详解 1xx(信息类):表示接收到请求并继续处理 100 客户端应当继续发送请求.这个临时响应是用来通知客户端他的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部 ...