CentOS安装配置Mycat+mysql水平分割,实现分布式存储

转自http://blog.csdn.net/testcs_dn/article/details/51438216

谢谢作者的贡献!


环境:CentOS6.5

JDK1.8

MySQL5.6.35

MyCat1.4

1.首先安装MySQL,安装步骤可以参考http://blog.csdn.net/llgyzb/article/details/54691675

2.安装JDK1.8

安装MyCat

修改MySQL配置文件(可选)

vi /etc/my.cnf

添加一行配置:lower_case_table_names=1,

如果找不到my.cnf文件,copy一个: cp /usr/share/mysql/my-default.cnf /etc/my.cnf
注意:Linux 下部署安装 MySQL,默认不忍略表名大小写,需要手动到/etc/my.cnf 下配置
lower_case_table_names=1 使 Linux 环境下 MySQL 忍略表名大小写,否则使用 MyCAT 的时候会提示找不到表的错误!

解压复制文件

我这里将 mycat 放到“/usr/local/mycat/”目录下,你可以根据自己的需要选择合适的目录

tar -zxvf Mycat-server-1.4-RELEASE-20160509173344-linux.tar.gz  
cp -r  mycat /usr/local/mycat  
cd /usr/local/mycat/  
chmod +x * 


chmod +x 命令是给文件添加可执行权限

需要再装一台Mycat?直接用命令把文件复制过去:

scp -r /usr/local/mycat [email protected]:/usr/local/


配置环境变量

vi /etc/profile

在文件末尾添加一行:
export MYCAT_HOME=/usr/local/mycat
使修改生效:
source /etc/profile
测试是否生效:
echo $MYCAT_HOME

配置主机名映射

vi /etc/hosts

在文件中添加你的数据节点MySQL的IP映射:
192.168.0.151 sam_server_1
192.168.0.153 sam_server_2

配置schema

vi /usr/local/mycat/conf/schema.xml

参考我的配置吧,我从官网下载的Release版本的里面带的文件有好多错误,我修改了很长时间才能用。

  
  
  
  
      
        
select user() select user()
这里的用户密码是MySQL的远程登录用户名密码。

配置用户

vi /usr/local/mycat/conf/server.xml

  
  
  
  
      
    druidparser  
         
      
      
          
          
          
          
          
          
          
      
      
        test  
        TESTDB  
      
  
      
        123456  
        TESTDB  
        false  
      
      
  
  
这里配置的是连接Mycat的用户,密码是明文的,schemas对应schema.xml文件中的schema节点

创建数据库

在每个数据节点MySQL上创建分库,数据将会根据你指定的策略分配保存到不同的节点上。

这个要单独连接到每个MySQL上去创建,创建的数据库名称对应schema.xml文件中指定的名称,不做这一步的话客户端连接上操作的时候会不响应卡死。

启动服务

经过以上几个步骤的配置,就可以到/usr/local/Mycat/bin 目录下执行:
./mycat start
即可启动 mycat 服务!

注:mycat 支持的命令{ console | start | stop | restart | status | dump }

可以通过以下命令查看服务是否启动成功:

./mycat status

如果启动失败了,可以查看以下文件的内容,分析具体原因:

/usr/local/mycat/logs/wrapper.log

或者执行mycat console查看错误信息

启动成功了,你应该已经知道怎么做了!马上用Navicat for MySQL连接上看看吧!

测试

这里使用mycat自带的表来测试 启动mycat: mycat start 使用Navicat for MySQL连接mycat: mycat/[email protected]

CentOS安装配置Mycat+mysql水平分割,实现分布式存储_第1张图片

CentOS安装配置Mycat+mysql水平分割,实现分布式存储_第2张图片

注意:

远程连接时可能会遇到以下错误:

连接MySQL错误:Can't connect to MySQL server (10060)

你需要参考文中的方法开放“8066”端口!

建表:

create table employee (id int not null primary key,name varchar(100),sharding_id int not null);  

插入数据:

insert into employee(id,name,sharding_id) values(1,'leader us',10000);  
insert into employee(id,name,sharding_id) values(2, 'me',10010);  
insert into employee(id,name,sharding_id) values(3, 'mycat',10000);  
insert into employee(id,name,sharding_id) values(4, 'mydog',10010);

分别到数据DB1,DB2查看,可以看到在DB1中有: 1 leader us 10000 3 mycat 10000 DB2中有: 2 me 10010 4 mydog 10010
这说明分片成功了。

而我们还配置了主从复制,现在去从库看看,是不是也有主库中的数据了。

结束语

日志是最好的朋友,不明白出了什么问题,有日志的话就去查看它,没有比它更精确直接的了;

即使官网提供的帮助也是很杂乱,各种版本,我是根据几个版本来完成的。

对于用惯了Windows的图形配置界面的小伙伴,开始的时候会感觉比较吃力的。










你可能感兴趣的:(分布式架构)