两台服务器 192.168.187.131 192.168.187.132

1.主从配置 131为主 132为从

在131下

vim /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
######################
#server-id
server-id = 131 服务器id
#binary log
log-bin = mysql-bin
#statement row mixed 日志格式
binlog-format = mixed
binlog-dp-db=test #指定数据库
binlog-ignore-db=mysql #防止同步mysql
######################
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid service mysqld restart

在132下

vim /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#################
server-id=132
#relay log
relay-log=mysql-relay master-port=3306
master-connect-retry=60
replicate-ignore-db=mysql
replicate-do-db=test
####################
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid service mysqld restart

开放131mysql权限

grant replication client,replication slave on *.* to 'repl'@'%' identified by 'repl';

show master status;  //查看主服务器信息

132下

change master to
master_host = '192.168.187.131',
master_log_file = 'mysql-bin.000006', //根据主服务器来改
master_log_pos=263,
master_user='repl',
master_password='repl'; slave start;
show slave status; //若显示waiting表示成功

接下来在131下进行sql操作,132就会有相应显示

2.主主复制 即两台都为主服务器

实现也很简单,就是各自视对方为主服务器,自己为从服务器即可

在131(原来主服务器)配置加上

relay-log=mysql-relay

在132(原来从服务器)配置加上

log-bin=mysql-bin

binlog-format=mixed

然后像上面描述一样将两边主从同步即可

然后测试 =_=

关于主主复制的主键冲突的解决方法:

在两边的mysql中输入

set session auto_increment_increment=2;
set session auto_increment_offset=1;
set global auto_increment_increment=2;
set global auto_increment_offset=1; set session auto_increment_increment=2;
set session auto_increment_offset=2;
set global auto_increment_increment=2;
set global auto_increment_offset=2;

此方法只适合两个服务器=_=

3.被动主主复制(一读一写)

在只读服务器的mysql配置上加上

read-only=1

show variables like '%read%';//查看是否为只读

4.mysql-proxy实现负载均衡和读写分离

下载mysql-proxy并使用

wget http://dev.mysql.com/get/Downloads/MySQL-Proxy/mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit.tar.gz
tar zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit.tar.gz
cd mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit
./bin/mysql-proxy -P 4040 --proxy-backend-addresses=192.168.187.131:3306 --proxy-backend-addresses=192.168.187.132:3306 负载均衡 ./bin/mysql-proxy -b 192.168.187.131:3306 -r 192.168.187.132 -s /usr/local/src/mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit/share/doc/mysql-proxy/rw-splitting.lua 读写分离

可在windows下连接虚拟机进行测试

5.partition分区

create table topic(
-> tid int primary key auto_increment,
-> title char(20) not null default ''
-> )engine myisam charset utf8
-> partition by range(tid) (
-> partition t0 values less than(10),
-> partition t1 values less than(20),
-> partition t2 values less than(MAXVALUE)
-> ); create table user(
-> uid int,
-> uname char(6),
-> aid int
-> )engine myisam charset utf8
->
-> partition by list(aid) (
-> partition bj values in (1),
-> partition hb values in (2),
-> partition xs values in (3),
-> partition gx values in (4)
-> );

建表以后可以测试并观察

ll /var/lib/mysql/test 变化

mysql优化(3) 集群配置的更多相关文章

  1. MySQL优化之——集群搭建步骤具体解释

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46833179 1 概述 MySQL Cluster 是MySQL 适合于分布式计算 ...

  2. MySQL Cluster 7.3.5 集群配置参数优化(优化篇)

    按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下, 当前生产 ...

  3. MySQL Cluster 7.3.5 集群配置实例(入门篇)

    一.环境说明: CentOS6.3(32位) + MySQL Cluster 7.3.5,规划5台机器,资料如下: 节点分布情况: MGM:192.168.137. NDBD1:192.168.137 ...

  4. Openstack的HA解决方案【mysql集群配置】

    使用mysql的galera做多主集群配置,galera的集群优势网络上面有对比,这里不在叙述. 1. 新建3台虚拟机(centos6.5) node1:172.17.44.163 node2:172 ...

  5. MySQL之PXC集群搭建

    一.PXC 介绍 1.1 PXC 简介 PXC 是一套 MySQL 高可用集群解决方案,与传统的基于主从复制模式的集群架构相比 PXC 最突出特点就是解决了诟病已久的数据复制延迟问题,基本上可以达到实 ...

  6. Mysql高可用集群环境介绍

    MySQL高可用集群环境搭建 01.MySQL高可用环境方案 02.MySQL主从复制原理 03.MySQL主从复制作用 04.在Linux环境上安装MySQL 05.在MySQL集群环境上配置主从复 ...

  7. Mysql Innodb cluster集群搭建

    之前搭建过一个Mysql Ndb cluster集群,但是mysql版本是5.7的,看到官网上mysql8的还是开发者版本,所以尝试搭建下mysql Innodb cluster集群. MySQL的高 ...

  8. MySQL数据库企业集群项目实战(阶段三)

                              MySQL数据库企业集群项目实战(阶段三) 作者 刘畅 时间 2020-10-25 目录 1 架构拓扑图 1 1.1 方案一 1 1.2 方案二 2 ...

  9. Ubuntu 14.04中Elasticsearch集群配置

    Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...

随机推荐

  1. WPF学习记录1:ListView的一个模板

    在网上找的一个模板,放在这里,作为笔记,收集 <ListView Grid.Column=" Name="ListmuLu" > <ListView.I ...

  2. 使用一个HttpModule拦截Http请求,来检测页面刷新(F5或正常的请求)

    在Web Application中,有个问题就是:“我怎么来判断一个http请求到底是通过按F5刷新的请求还是正常的提交请求?” 相信了解ASP.NET的人知道我在说什么,会有同感,而且这其实不是一个 ...

  3. Core Bluetooth 概述 【官方文档翻译】

    Core Bluetooth 框架在Mac和iOS平台,为配备了低功耗蓝牙无线技术的设备提供了进行通信所需要的类.例如,您的应用程序可以发现,探索,和低功耗的外围设备进行交互,如心率监视器.数字温控器 ...

  4. react学习之props

    中秋过后刚好结束在上一家公司的工作,明天开始要正式的找工作了,最近也投了几家公司收到几分面试邀请.在面试的过程中几个面试官聊到了react(当然也有聊了vue,angular).感觉不懂react都不 ...

  5. mysql的分页存储过程,能够传出总记录数

    最近用mysql + asp.net来写网站,既然mysql已经支持存储过程了,那么像分页这么常用的东西,当然要用存储过程啦 不过在网上找了一些,发现都有一个特点——就是不能传出总记录数,干脆自己研究 ...

  6. AngularJS 中的 Promise 和 设计模式

    解决 Javascript 异步事件的传统方式是回调函数:调用一个方法,然后给它一个函数引用,当这个方法完结的时候执行这个函数引用. <!-- lang: js --> $.get('ap ...

  7. 快速解决js开发下拉框中blur与click冲突

    在开发中我们会经常遇到blur和click冲突的情况.下面叙述了开发中常遇到的"下拉框"的问题,并提供了两种解决方案. 一.blur和click事件简述 blur事件:当元素失去焦 ...

  8. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ex.activity/com.ex.activity.LoginActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class

    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ex.activity/com.ex.activity.L ...

  9. 原生化:AnDevCon 2014 McVeigh 的主题演讲

    作者:Jeff McVeigh(Intel) 基于(至少部分)NDK的原生安卓应用程序占现在前1000 强的 60% 以上.该增长的原因很简单:开发商需要为用户提供超卓的体验(包括灵敏的反应.与丰富的 ...

  10. MySQL validate_password 插件

    从创建用户说起: 如我们在mysql中可以用grant all on *.* to userd@'localhost' identified by '123'; 来创建一个userd用户,虽然用户是创 ...