mysql集群优化_mysql优化(3) 集群配置

两台服务器 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 变化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值