linux中mysql和mycat搭建,以及用mycat实现数据库集群

linux中mysql和mycat搭建,以及用mycat实现数据库集群

一搭建mysql   参考链接 (点击打开链接)

  1. 1

    查找以前是否安装有mysql,使用下面命令:

    rpm -qa|grep -i mysql

    如果显示有如下包则说明已安装mysql

    mysql-4.1.12-3.RHEL4.1

    mysqlclient10-3.23.58-4.RHEL4.1

  2. 2

    如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库

    删除命令:rpm -e --nodeps 包名

    ( rpm -ev mysql-4.1.12-3.RHEL4.1 )

    删除老版本mysql的开发头文件和库

    命令:rm -fr /usr/lib/mysql

    rm -fr /usr/include/mysql

    注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

    rm -f /etc/my.cnf

    rm -fr /var/lib/mysql

  3. 下载mysql的rpm包

    可以通过wget下载具体的地址因为不能用链接请大家去官网去找

    (1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL服务器;

    (2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客户端;

    (3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql开发依赖包。

  4.   

    安装MySQL Server的rpm包

    rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm

    安装过程如图所示

    安装完成后会生成root用户的随机密码,请使用“cat /root/.mysql_secret”或类似命令进行查看

如上方法安装余下安装包   注意;linux系统时32位还是64位的,就安装对应的32、64位软件

启动msyql

安装完成后mysql是没有启动的,运行mysql命令会提示如下错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

可使用如下命令启动MySQL:

service mysql start

或者使用如下命令:

/etc/init.d/mysql start

可使用SET PASSWORD命令修改root用户的密码,参考如下:SET PASSWORD = PASSWORD('root123456');

service mysql status:查看mysql服务是否启动   mysql启动:mysql -uroot -proot -hlocalhost -P 3306

二 安装mycat

 (1) 修改my.inf新增以下语句,my.inf 一般会放在/etc/my.cnf 或 /etc/mysql/my.cnf,设置为Mysql大小写不敏感,否则可能会发生表找不到的问题。
lower_case_table_names = 1

(2) 解压Mycat-server-1.3.0.2-20150105144205-Linux.tar.gz 到/usr/local/mycat

(3) 解压jdk-7u65-linux-i586.gz,拷贝jdk1.7.0_65 到/usr/local/mycat/

(4) 修改/usr/local/conf/wrap.conf 修改wrapper.Java.command=java为上一步存放路径
wrapper.java.command=/usr/local/mycat/jdk1.7.0/bin/java

(5) 创建mycat 用户,改变目录权限为mycat
useradd mycat
chown -R mycat.mycat /usr/local/mycat

(6) 修改用户密码
passwd mycat
输入:

(8) 修改/usr/local/conf/schema.xml,URL、用户名、密码修改,其余不变
password="www.com.workssys">

二、运行步骤详解

(1) 进入 /usr/local/mycat/bin (默认数据端口为8066,管理端口为9066)
执行./mycat start   mysql -uroot -proot -hlocalhost -P8066

(2) 进入logs目录,查看日志,如果wrapper.log 报错 java.NET.BindException: Address already in use 杀掉正在执行的相关java进程
ps -ef|grep java
kill -9 xxx

三  配置mycat,实现数据库集群

1.server.xml


test
TESTDB


root
babasport


user
TESTDB
true

2.schema.xml






rule="sharding-by-pattern">

parentKey="id" />



rule="sharding-by-pattern">
parentKey="ID" />



3.rule.xml


     
        id
        sharding-by-pattern
     
   
   
     
     
        buyer_id
        sharding-by-pattern
     

   


512
2
partition-pattern.txt
 

6.通配取模

     

        user_id

       sharding-by-pattern

     

  

    256

    2

    partition-pattern.txt

 

 


4.partition-pattern.txt

0-127=0
128-255=1
256-512=2

四 实现数据库集群功能

搭建3个数据库,分别为babasport1,在商品ID中0-127为一个数据库,color和brand表三个数据库都有,为全局变量,buyer依据分配规则来分配,其中订单表和订单详情表依据这个buyer走,这样查询订单的相关info 不必分数据库,有利于优化。



你可能感兴趣的:(数据库)