Mariadb proxy

maxscale01.test.com
maxscale02.test.com

Mariadb Galera Cluster

db01.test.com
db02.test.com
db03.test.com

Mariadb Master,slave Replicate

一 主库配置

1.1 主库每个节点添加配置参数(MariaDB Galera Cluster)

[galera]
#开启binlog并指定binglog日志名称
log_bin=binlog
#开启主从复制必须的参数,server id号要在主从中唯一,必须要指定
server_id=111
#开启galera集群之间互相复制数据操作写入binlog
log_slave_updates=1

1.2 重启数据库并确认主库binlog开启状态

systemctl  restart mysql
mysql -e "show master status;"

1.3 创建主从复制帐号

grant replication slave on *.* to 'rsyncdb'@'10.%.%.%' identified by 'password';
flush privileges;

1.4 主库cluster任意一节点完整备份数据

mysqldump -uroot -p --single-transaction --master-data=2  -R --all-databases > alldata.sql

二 从库配置

2.1 安装MariaDB-Galera-server
yum install MariaDB-Galera-server-10.0.21-1.el7.centos.x86_64

2.2 从库添加配置

[galera]
#以下两个参数主要对于导入较大数据库,否则会报错
max_allowed_packet=64M
innodb_log_file_size=256M
#开启主从复制必须的参数,server id号要在主从中唯一,必须要指定
server_id=222
#从库设置对于普通帐号只读,但对于super和复制线程sql是可写
read_only=1

2.3 重启数据库

systemctl  restart mysql

2.4 从库导入从主库备份的数据

mysql < alldata.sql

2.5 从库指定复制相关的参数和复制的起始点,开启slave复制

#复制的binlog文件名和pos点可从备份数据alldata.sql文件中前30行查看到,当然也可以直接使用gtid_slave_pos来指定复制的启始位置
mysql -e "change master to master_host='db03.bj.base-fx.com', master_user='rsyncdb', master_password='password',MASTER_LOG_FILE='binlog.000021',MASTER_LOG_POS=126464865;"
mysql -e "start slave;"

2.6 从库确认复制状态

#要确认IO和SQL线程都是yes的状态
mysql -e "show slave status\G;"

2.7 MariaDB10.0.2默认binlog日志格式使用的是row并开启GTID模式

#根据指定pos点来指定复制可平滑转成GTID的模式进行复制(可选,建议使用GTID)
mysql -e "change master to master_use_gtid=slave_pos;"
#可以看到GTID已经打开
mysql -e "show slave status\G;"

mysql 小结的更多相关文章

  1. mysql小结

    1.使用密码登录mysql mysql -u root -p 2.查看所有的数据库 show databases; 3.创建数据库 create database <数据库名>; 4.创建 ...

  2. mysql小结(了解)

    Mysql总结 1.数据库的概念 """ 数据库:库(文件夹).表(表结构文件.表数据文件(索引结构)).字段(数据的描述).记录(数据的本体) 分类:效率问题(内存大于 ...

  3. JavaOO小结二,及MySQL小结

    流按照传输内容分有几种?各自的父类是什么? 流按照传输内容有 字节流.字符流.对象流.但其本质都是字节流.字符流和对象流是在字节流基础上作了一层封装,以便更好对字符和对象进行操作. 字节流的父类:In ...

  4. mysql通过mysql_install_db初始化数据目录时使用--user选项的作用是什么?

    需求描述: mysql数据库通过mysql_install_db初始化数据目录时,使用了--user选项,这里记录下该参数的作用 参数解释: 1.--user的作用:就是以哪个操作系统用户来执行mys ...

  5. PHP,mysql,Linux,CI框架学习总结

    PHP,mysql,CI框架学习总结 PHP标记 1.Xml风格<?php ?> 2.简短风格 <? ?> 需在php.ini中开启short_open_tag 3.asp风格 ...

  6. 【MySQL】使用MySQL(连接、选择数据库、显示数据库和表信息)

    第3章 使用MySQL 文章目录 第3章 使用MySQL 连接 选择数据库 了解数据库和表 小结 简单记录 - MySQL必知必会 - [英]Ben Forta 将学习如何连接和登录到MySQL,如何 ...

  7. xtrabackup之Innobackupex增量备份及恢复

    演示增量备份 #启动一个全备 innobackupex \ > --defaults-/my.cnf \ > --host=127.0.0.1 \ > --user=xtrabk \ ...

  8. pymongo学习第1篇——增删改查

    参考文档: 1.https://docs.mongodb.org/getting-started/python/ 2.http://api.mongodb.org/python/current/api ...

  9. 转:攻击JavaWeb应用[3]-SQL注入

    转:http://static.hx99.net/static/drops/tips-236.html 攻击JavaWeb应用[3]-SQL注入 园长 · 2013/07/16 18:28 注:本节重 ...

随机推荐

  1. Django学习笔记(2)——模型,后台管理和视图的学习

    一:Web投票示例 本节我们首先从全局范围再复习一下Django的概念,让自己对Django的设计理念, 功能模块,体系架构,基本用法有初步的印象. Django初始的详细博客内容:请点击我 该应用包 ...

  2. LeetCode矩阵题型

    以三角形遍历矩阵 ; i < matrix.size(); ++i) { ; j < matrix[i].size(); ++j) swap(matrix[i][j], matrix[j] ...

  3. Tushare模块

    .TuShare简介和环境安装 TuShare是一个著名的免费.开源的python财经数据接口包.其官网主页为:TuShare -财经数据接口包.该接口包如今提供了大量的金融数据,涵盖了股票.基本面. ...

  4. web前端图片上传(3)--filereader

    这篇文章主要是为了介绍一种文件上传的方式.当然文件中是包含图片的.如果大家仔细看我的第一篇web前端图片上传(1)就会知道,其实也是按照这种方式上传你的,但是由于上次时间比较紧张,没有详细的介绍今天的 ...

  5. js 控制随机数生成概率

    基本思路:把Math.random()生成的数看着百分比,然后定义每个整数值取值范围. 'use strict'; export default class GL { /** * 构造函数 * @pa ...

  6. Android为TV端助力:(转载)修改TextView字体样式

    一.开篇 因为 Android 字体相关的内容还比较多的.有时候其实我们只需要调整一下属性就可以满足设计师的需求,或者是一个退后的方案(毕竟有发版的时间卡住了),有一些效果可以大概满足需求. 那么本文 ...

  7. VS fopen sprinft ... unsafe 问题

    我的用的是VS2017 VS项目->右键属性(最下面)->C/C++->预处理器->预处理器定义->编辑->加上_CRT_SECURE_NO_WARNINGS  - ...

  8. rocketmq简单消息发送

    有以下3种方式发送RocketMQ消息 可靠同步发送 reliable synchronous 可靠异步发送 reliable asynchronous 单向发送 one-way transmissi ...

  9. win10 桌面设置为远程桌面

    查看方法: 1.点击桌面“计算机”,右键,点击属性. 2.在计算机属性系统窗口中点击“远程设置”. 3.在“系统属性”对话框中远程协助勾选“允许远程协助连接这台计算机”. 4.在“远程协助”点击“高级 ...

  10. AngularJS学习之旅—AngularJS 模块(十五)

    一.AngularJS 模块 模块定义了一个应用程序. 模块是应用程序中不同部分的容器. 模块是应用控制器的容器. 控制器通常属于一个模块. 1.创建模块 通过 AngularJS 的 angular ...