mysql pxc 表分片_03中间件mycat对pxc集群的分片处理

安装第二个pxc集群

作为mycat的第二个分片

d5cd621d47c937005690856a169ee275.png

直接拷贝其中的一个虚拟机,然后还原到最初的状态,这样会小很多,启动改一下IP和基础配置,然后再次拷贝这个虚拟机两份改IP重启即可

正常安装pxc集群即可

主节点的配置记录

grastate.dat文件中记录着启动的bootstrap,当有节点以外退出时,为了保持数据一致性,pxc集群会认定最后一个节点的数据是最新的 safe_to_bootstrap 的值会改为1,把配置safe_to_bootstrap值为1当做主节点启动即可

当集群所有节点都意外退出时可以手动修改 safe_to_bootstrap的值为1,然后把这个节点当做主节点启动

[root@node6 ~]# cat /var/lib/mysql/grastate.dat

# GALERA saved state

version: 2.1

uuid:    a61559b1-f3c9-11e8-be12-666937c43234

seqno:   -1

safe_to_bootstrap: 0

120ce565c1d76c407d74274ba04b5a9c.png

Mysql中间件

656fd3ff5e81f71fe8b958d04b0b6d12.png

6f0ce4f9d506f8bfd0b69b7718120f1f.png

a2c0191e5524a88cfdd6d5ad6ba2f77f.png

安装mycat

Mycat是java开发的,要安装java环境

rpm –ivh jdk-8u181-linux-x64.rpm

# 加入环境变量

# vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64

export PATH=$JAVA_HOME/bin:$PATH

下载mycat1.6.5版本

mycat配置

b0fc9fcaa47e3d80936cd900b3e3f5e8.png

逻辑库:chinasoft

表:t_user

创建数据表,用于保存切分数据

create table t_user(

id int(10) unsigned not null,

username varchar(200) not null,

password varchar(2000) not null,

tel char(11) character not null,

locked tinyint(1) unsigned not null default 0,

primary key (id) using btree,

index indx_username(username) using btree,

unique index unq_username(username) using btree);

259d13244fe8c369577fd0789d9b4445.png

schema.xml

select user()

select user()

2ce88d75ea022156671f46d470d0b7fb.png

rule.xml

992ddc6c2c44741f78105c6473c569b0.png

Server.xml

Abc_123456

chinasoft

user

chinasoft

true

bb48a15ba6b88da1732d0d2afad60db7.png

第二个pxc集群的部署

[root@node6 ~]# cat /etc/my.cnf

[client]

socket=/var/lib/mysql/mysql.sock

[mysqld]

server-id=216

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

log-bin

log_slave_updates

expire_logs_days=7

# 数据库字符集

character_set_server = utf8

bind-address = 0.0.0.0

#跳过DNS解析

skip-name-resolve

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

wsrep_provider=/usr/lib64/galera3/libgalera_smm.so

wsrep_cluster_name=pxc-cluster02

wsrep_cluster_address=gcomm://10.11.0.216,10.11.0.217,10.11.0.218

wsrep_node_name=pxc6

wsrep_node_address=10.11.0.216

wsrep_sst_method=xtrabackup-v2

wsrep_sst_auth= admin:Abc_123456

pxc_strict_mode=ENFORCING

binlog_format=ROW

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2

************************************

[root@node7 ~]# cat /etc/my.cnf

[client]

socket=/var/lib/mysql/mysql.sock

[mysqld]

server-id=217

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

log-bin

log_slave_updates

expire_logs_days=7

# 数据库字符集

character_set_server = utf8

bind-address = 0.0.0.0

#跳过DNS解析

skip-name-resolve

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

wsrep_provider=/usr/lib64/galera3/libgalera_smm.so

wsrep_cluster_name=pxc-cluster02

wsrep_cluster_address=gcomm://10.11.0.216,10.11.0.217,10.11.0.218

wsrep_node_name=pxc7

wsrep_node_address=10.11.0.217

wsrep_sst_method=xtrabackup-v2

wsrep_sst_auth= admin:Abc_123456

pxc_strict_mode=ENFORCING

binlog_format=ROW

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2

************************************

[root@node8 ~]# cat /etc/my.cnf

[client]

socket=/var/lib/mysql/mysql.sock

[mysqld]

server-id=218

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

log-bin

log_slave_updates

expire_logs_days=7

# 数据库字符集

character_set_server = utf8

bind-address = 0.0.0.0

#跳过DNS解析

skip-name-resolve

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

wsrep_provider=/usr/lib64/galera3/libgalera_smm.so

wsrep_cluster_name=pxc-cluster02

wsrep_cluster_address=gcomm://10.11.0.216,10.11.0.217,10.11.0.218

wsrep_node_name=pxc8

wsrep_node_address=10.11.0.218

wsrep_sst_method=xtrabackup-v2

wsrep_sst_auth= admin:Abc_123456

pxc_strict_mode=ENFORCING

binlog_format=ROW

default_storage_engine=InnoDB

innodb_autoinc_lock_mode=2

# 启动第二个集群

[root@node6 ~]# systemctl start mysql@bootstrap.service

[root@node6 ~]# cat /var/log/mysqld.log |grep pass

2018-12-03T17:05:12.810880Z 1 [Note] A temporary password is generated for root@localhost: 6khOemMy,f.T

# 登录mysql重置root密码

alter user 'root'@'localhost' identified by 'root';

# 添加同步用户,启动从节点root密码和admin的账号信息就同步到了从节点

create user 'admin'@'localhost' identified by 'Abc_123456';

grant reload,lock tables,replication client,process on *.* to 'admin'@'localhost';

flush privileges;

# 启动从节点

systemctl start mysql

Mycat连接使用8066端口

7fe1256a7d963088a451333a0b903958.png

使用mycat插入数据

use chinasoft;

select * from t_user;

insert into t_user(id,username,password,tel,locked)

values(

1,

'jack',

hex(AES_ENCRYPT('123456','helloworld')),

'13312345678',

false

);

插入两条数据,可以看到落到了不同的分片中

insert into t_user(id,username,password,tel,locked)

values(

2,

'tom',

hex(AES_ENCRYPT('123456','helloworld')),

'13312345678',

false

);

通过mycat可以查询汇总到一起

f8f3e657ca75b93dc4eea885d92aa08b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值