saltsack自动化配置day03:服务部署mysql部署

一、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
posted @ 2018-09-15 21:59  活的潇洒80  阅读(421)  评论(0编辑  收藏  举报