DBA10 - 分库分表概述 配置mycat

1  装包
]# rpm  -qa  | grep -i jdk
]# tar -zxvf Mycat-server-1.4-beta-20150604171601-linux.tar.gz
]# mv  mycat/   /usr/local/

2 工作目录说明
]# cd  /usr/local/mycat
]#ls  conf/
rule.xml
schema.xml
server.xml


ls /usr/local/mycat/conf
server.xml 设置连接mycat服务的账号 参数 等
schema.xml 配置mycat使用的真实数据库和表
rule.xml   定义mycat分片规则

配置文件标签说明:
…….  定义连接mycat服务时使用的用户和密码及逻辑库的名字
…… 指定数据节点(物理库的主机名和存储分片数据的数据库名)
…… 指定数据库服务器的IP地址 及连接数据库时使用的授权用户名及密码


名词解释:
逻辑库: 客户端连接mycat服务器后看到的库名
逻辑表: 客户端连接mycat服务器后看到表明,表明要与程序员存储数据用的表名相同。

编辑配置文件:

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

       
                123456
                TESTDB
       

       
                123456
                TESTDB
                true
       

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



           #逻辑库名 要与server.xml定义的一样
                 

 #定义分片的表
                 
 #定义分片的表
                 
#定义分片的表   
                 
#定义分片的表
                 
  #定义分片的表
                 
#定义分片的表
          
    
         
        #定义分片使用的库,所在的物理主机 ,真正存储数据的db1库在物理主机c1上
    
         
        #定义分片使用的库,所在的物理主机 ,真正存储数据的db2库在物理主机c2上
    
         #指定c1名称主机对应的ip地址
             writeType=”0” dbType=”mysql” dbDriver=”native” > 
        select user()
                            password=”123456”>   #访问数据时 mycat服务连接数据库服务器时使用的用户名和密码
        

    

         #指定c2名称主机对应的ip地址
             writeType=”0” dbType=”mysql” dbDriver=”native” >
        select user()
                            password=”123456”>  #访问数据时 mycat服务连接数据库服务器时使用的用户名和密码
        

    

++++++++++++++++++++启动服务
 [root@localhost ~]# sed -n  ‘4,5p’ /usr/local/mycat/conf/wrapper.conf 
  # Java Application
  wrapper.java.command=java
 [root@localhost ~]#
 [root@localhost ~]# which java
  /usr/bin/java

 [root@localhost ~]#echo  “export PATH=/usr/local/mycat/bin”  >> /etc/profile
 [root@localhost ~]#source  /etc/profile

 [root@localhost ~]# mycat  –help
 Usage: /usr/local/mycat/bin/mycat { console | start | stop | restart | status | dump }
 [root@localhost ~]#

 [root@localhost ~]# mycat  start
 Starting Mycat-server…
 [root@localhost ~]# 
 [root@localhost ~]# netstat -utnalp  | grep :8066
 tcp6       0      0 :::8066                 :::*                    LISTEN      4524/java           
 [root@localhost ~]#


++++++++++++++++++++++++测试MyCAT
[root@room9pc17 ~]# mysql -h192.168.4.56 -P8066 -utest -ptest  //客户端连接mycat服务器,存储数据
MySQL [(none)]> show databases;
+———-+
| DATABASE |
+———-+
| TESTDB   |
+———-+
1 row in set (0.00 sec)
MySQL [(none)]> use TESTDB;
MySQL [TESTDB]> show tables;
+——————+
| Tables in TESTDB |
+——————+
| company          |
| customer         |
| employee         |
| goods            |
| hotnews          |
| travelrecord     |
+——————+
6 rows in set (0.00 sec)

MySQL [TESTDB]> MySQL [TESTDB]> create table employee( id int not null primary key, name varchar(100), sharding_id int not null );

MySQL [TESTDB]> MySQL [TESTDB]> insert  into  employee(id,name,sharding_id)values(1,”bob”,10000),(2,”lucy”,10010),(3,”alice”,10000),(4,”jerry”,10010);

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
mysql> select  @@hostname;
+————+
| @@hostname |
+————+
| c1         |
+————+
1 row in set (0.00 sec)

mysql> select  * from employee;
Empty set (0.00 sec)

mysql> select  * from employee;
+—-+——-+————-+
| id | name  | sharding_id |
+—-+——-+————-+
|  1 | bob   |       10000 |
|  3 | alice |       10000 |
+—-+——-+————-+
2 rows in set (0.00 sec)

mysql> 
++++++++++++++++++++++++++++++++++++++++++++++
mysql> select @@hostname;
+————+
| @@hostname |
+————+
| c2         |
+————+
1 row in set (0.00 sec)

mysql> select * from employee;
Empty set (0.00 sec)

mysql> select * from employee;
+—-+——-+————-+
| id | name  | sharding_id |
+—-+——-+————-+
|  2 | lucy  |       10010 |
|  4 | jerry |       10010 |
+—-+——-+————-+
2 rows in set (0.00 sec)

mysql> 

            

你可能感兴趣的:(linux运维工程师,数据库,DBA2)