mysql 集群分区_mysql 集群与分区

一、主从集群配置

原理:主服务器建立二进制日志,每产生语句或磁盘变化,写进日志;从服务器读取主服务器的二进制日志从而建立relaylog日志;然而主服务器需要授权复制账号给从服务器来监听二进制日志。

a) 建立主服务器二进制日志:log-bin = mysql-bin (my.cnf中配置)

b) 主服务器二进制日志的格式:binlog-format = mixed (statement|row|mixed: 可监听语句或行变化或混合的)

c) 建立从服务器relay日志:relay-log = mysql-relay (my.cnf中配置)

d) 为服务器建立唯一标识符:server-id = ...199|200|201... (不同服务器ID不同,使用int类型)

e) 通过命令建立主服务器账号密码:grant replication client,replication slave on *.* to ‘repl’@’192.168.%.%’ identified by ‘repl’;   (‘repl’@’192.168.%.%’为授权账号,‘repl’为密码)

f) 通过命令为从服务器建立连接:change master to

master_host = ‘192.168.0.199’ (主服务器IP),

master_user = ‘repl’,

master_password = ‘repl’,

master_log_file = ‘mysql-bin.000001’,

master_log_pos = 278; (show master status; 查看)

g) 命令开启slave:start slave;

h) 查看从服务器连接详情:show slave status;

i) 重置slave:reset slave;

j) 关闭slave:stop slave;

二、主主复制(可参考主从复制)

三、主主复制的主键冲突解决(两台服务器)

a) 一台服务器设置(奇数):

i. set session auto_increment_increment = 2; (自增2)

ii. set session auto_increment_offset = 1; (从1开始自增)

iii. set global auto_increment_increment = 2;

iv. set global auto_increment_offset = 1;

b) 另一台服务器设置(偶数):

i. set session auto_increment_increment = 2; (自增2)

ii. set session auto_increment_offset = 2; (从2开始自增)

iii. set global auto_increment_increment = 2;

iv. set global auto_increment_offset = 2;

四、mysql-proxy完成负载均衡与读写分离

注意:均衡不是指sql语句为单位的均衡,而是以mysql连接节点来均衡;

a) 下载安装mysql-proxy

b) 建立mysql代理服务器:./bin/mysql-proxy -P192.168.0.199:4040 --proxy-backend-addresses=192.168.0.199:3306 --proxy-backend-addresses=192.168.0.200:3306

c) 代理服务器连接: mysql -h 192.168.0.199 -P 4040 -uroot -p

d) 配置读写分离连接: ./bin/mysql-proxy

-b 192.168.0.199:3306  (写)

-r 192.168.0.200:3306 (读)

-s /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua(读写脚本)

五、partition分区

a) range分区:

CREATE TABLE `test` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`name` varchar(255) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8

PARTITION BY RANGE (id) # 使用ID来划分范围

(PARTITION t0 VALUES LESS THAN (1000),

PARTITION t1 VALUES LESS THAN (2000),

PARTITION t2 VALUES LESS THAN (maxvalue)) ;

#MAXVALUE 表示最大的可能的整数值

b) list分区:

CREATE TABLE `user ` (

`id`int(11),

`name` varchar(11),

`addr_id` int(11)

) ENGINE=InnoDB DEFAULT CHARSET=utf8

PARTITION BY LIST(addr_id) (

PARTITION beijing VALUES IN(1,2),

PARTITION hebei VALUES IN(3,4,5),

PARTITION guangdong VALUES IN(6,7),

...

);

c) hash分区

六、事务

特性:原子性、一致性、隔离性、持久性。

a) 原子性:指某几个sql语句的影响,要么都发生,要么都不发生。

b) 一致性:事务前后的数据,保持业务上的合理一致。

c) 隔离性:在事务进行过程中,其他事务看不到此事务的任何效果。

d) 持久性:事务一旦发生则不能取消,只能通过补偿性事务来抵消效果。

原文:https://www.cnblogs.com/zgxblog/p/13220470.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见的字符函数与字符串函数介绍(1)

常见的字符函数与字符串函数介绍 前言 C语言中对字符与字符串的处理很是频繁,但是C语言中并没有字符串类型的变量,字符串通常存放在常量字符串或者字符数组中。字符串常量适用于那些对它不做任何修改的字符串函数。 函数功能简介与再实现 1、 strlen…

postman raw带文件_postman raw模拟各种http post请求

在url或者query里面传递参数这个最简单http://localhost:5000/queryhttp://localhost:5000/query/xxxhttp://localhost:5000/query/idxxx上传表单key-value数据1.使用自带的功能body设置header设置2.使用raw来模拟body设置header设置不变上传单个文件1.使用自带功能body设置hea…

找第一个只出现一次的字符_剑指offer 字符流中第一个只出现一次的字符

题目描述:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是g。当从该字符流中读出前六个字"google"时,第一个只出现一次的字符是l…

python list是数组还是链表实现的_python 数据结构 list和链表实现栈的三种方法

MAX_SIZE 100classMyStack1(object):"""模拟栈"""def __init__(self):self.items[]self.size0defis_empty(self):"""判断是否为空"""return self.size 0defsize(self):"""返回栈的大小"&quo…

python去掉人像白边_python 使用plt画图,去除图片四周的白边方法

用matplotlib.pyplot画的图,显示和保存的图片周围都会有白边,可以去掉。为了显示的更清楚,给图片加了红色的框代码“import matplotlib.pyplot as pltfig, ax plt.subplots()im im[:, :, (2, 1, 0)]ax.imshow(im, aspectequal)plt.axis(‘o…

python重复输出五句话_如何用python3输出重复的数据?

面对很多重复的数据,如果人工一个个处理起来会很麻烦,而且要浪费大量的时间和精力。之前就python处理数据是简单便捷的,有没有一种方法能把重复的数据输出出来,这样就一目了然了。相信有一些小伙伴也跟小编有同样的困扰&#xff0…

php mysql倒计时_php 倒计时程序

测试页面//获取系统时间,将时间以指定格式显示到页面。function systemTime(){//获取系统时间。var dateTimenew Date();var YYdateTime.getFullYear();var MMdateTime.getMonth();var DDdateTime.getDate();var hhdateTime.getHours();var mmdateTime.getMinutes()…

win10无法装载重装系统iso文件_win10镜像不能安装系统如何解决_win10镜像无法安装处理方法...

如今,大部分用户下载到的win10系统都是属于镜像文件,能够最大便利的让用户安装步骤简单化,可是最近有用户下载的win10系统中出现了镜像不能安装的问题,那么win10镜像不能安装系统如何解决呢?下面就来告诉大家win10镜像…

在python中使用什么工具管理模块_怎么使用Python pip(管理模块工具)

怎么使用Python pip(管理模块工具)发布时间:2020-08-26 16:04:26来源:亿速云阅读:71作者:Leah本篇文章给大家分享的是有关怎么使用Python pip(管理模块工具),小编觉得挺实用的,因此分享给大家学习&#xff…

anaconda下载jupyter写python_如何安装Anaconda3和使用Jupyter

如何安装Anaconda3和使用Jupyter发布时间:2020-10-28 14:41:26来源:亿速云阅读:64作者:Leah这期内容当中小编将会给大家带来有关如何安装Anaconda3和使用Jupyter,文章内容丰富且以专业的角度为大家分析和叙述&#xff…

mysql用户添加_MySQL用户添加

我的是Ubuntu-12.04。发现在MySQL中经常出现添加用户之后,要么只能本地登陆,要么只能远程登陆的蛋疼的情况。这里记录一下是如何操作的。 创建用户 CREATE USER username% IDENTIFIED BY password; 如果想要让这个用户即可以本地登陆,也可以远…

mysql 42642 安装报错_1/5 MySQL入门总结:下载安装

MySQL.msi版本下载:www.mysql.com >DOWNLOADS >Windows >MySQL Installer >mysql-installer-community-8.0.13.0.msi(不建议下载解压缩版,因为它还要配置my.ini文件,亲身实践,麻烦)安装:o. 缺失“Microsof…

stm32滴答计时器_stm32笔记:Systick系统滴答定时器

Systick :系统心跳定时器,提供系统节拍裸机程序中可作为独立的延时定时器用途:1.产生操作系统的时钟节拍2.便于不同处理器之间程序移植SysTick定时器被捆绑在NVIC中,异常号153.作为一个闹铃测量时间用于测量时间,但当处理器在调试期间被喊停(halt)时,则S…

java href_jnlp href属性中的url参数

我已经有一段时间寻找这个答案,从来没有得到具体的解决方案 . 所以在这里我最终解决了它 . 我将在下面提出解决方案 .当前情况:有一个简单的java应用程序从带有参数的浏览器启动 . 现有的路由是browser - > index.html - >调用我的jnlp文件 - >…

java 3位小数_数字有效小数第三位四舍五入

[java]代码库import javax.swing.JOptionPane;public class Test{public static void main(String[] args){String sJOptionPane.showInputDialog("请输入数字:");double aDouble.parseDouble(s);//转换成数字double ba;//临时存储int p0;//用于计算小数从…

java实现文件合并_Java实现文件分割和文件合并实例

文件切割和文件合并这个问题困扰了我有一段时间了(超过一天没做粗来)。找了好多博客,本来想转载一个来的 结果找不到了。很无奈。只好自己贴代码上了。当然我会尽力好好写注释的。文件切割器:import java.io.File;import java.io.FileNotFoundException;import java…

java 线程池 资源回收_JAVA线程池资源回收的问题

最近项目中为了提高用户体验度,前台创建任务后台任务,用多线程来跑。现在的场景:后台定时任务管理这两个线程池,一个最大线程数10个,一个最大线程数15。应用部署之后,不超过5个小时,服务器负载高…

java 常量表达式_JavaSwitch语句:常量表达式是必需的,但它是常量

万千封印我知道编译器需要在编译时知道表达式才能编译一个开关,但是为什么foo.ba_常数不是呢?虽然从字段初始化后执行的任何代码的角度来看,它们都是常量,但它们不是编译时间常数在JLS所要求的意义上;见15.28常量表达式…

java post请求返回500错误信息_Retrofit API Post call 返回错误 500,适用于 Postman

我正在尝试使用改进 2 使用其他 API,我已经能够使用一些端点,但注册端点不断返回 http 500 错误代码,但在使用邮递员测试时工作正常。 POST("auth/signup/") Call addUser(Body SignUpCreds signUpCreds);这是注册凭据public class…

java 抽样_beta分布的采样或抽样(java程序)

beta分布的采样或抽样(java程序)标签:#beta分布采样#时间:2017/05/12 15:47:04作者:十七岁的雨季关于beta分布的介绍,请看我的另外一篇博客:http://blog.csdn.net/qy20115549/article/details/53307535本篇文章的另外地址为&#…