首页 > 数据库 > mysql教程 > MySQL 5.5创建线性Hash分区表,并将表文件分布到不同的物理磁盘上_MySQL

MySQL 5.5创建线性Hash分区表,并将表文件分布到不同的物理磁盘上_MySQL

WBOY
发布: 2016-06-01 13:36:45
原创
1123 人浏览过

bitsCN.com

MySQL 5.5创建线性Hash分区表,并将表文件分布到不同的物理磁盘上

 

要合并不同服务器上的数据,考虑到以后会不断添加游戏区组服务器,所以使用mysql5.5的LINEAR HASH分区,当添加的区组超过hash分区后再添加分区,停机维护时再将新添加的分区表文件分布到其他物理分区上去.

下面是建表SQL

 

DROP TABLE IF EXISTS gyyx_middle.`wd_char_info`;

tudou@Gyyx

CREATE TABLE gyyx_middle.`wd_char_info` (

  `dist` int(11) NOT NULL DEFAULT '0',

  `account` varchar(32) NOT NULL DEFAULT '玩家帐户',

  `name` varchar(32) NOT NULL DEFAULT '',

    `create_date`   INT(11) NOT NULL DEFAULT '0',

  `create_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',

  `first_login_ip` int(11) NOT NULL DEFAULT 0,

  `gender` tinyint(11) NOT NULL DEFAULT '0',

    `last_login_date` INT(11) NOT NULL DEFAULT '0',

  `last_login_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',

  `last_login_ip` int(11) NOT NULL DEFAULT 0,

  `glory` int(11) NOT NULL DEFAULT '0',

  `level` mediumint(11) NOT NULL DEFAULT '0',

  `tao` int(11) NOT NULL DEFAULT '0',

  `cash` int(11) NOT NULL DEFAULT '0',

  `nice` int(11) NOT NULL DEFAULT '0',

  `reputation` int(11) NOT NULL DEFAULT '0'

) ENGINE=MyISAM DEFAULT CHARSET=latin1

PARTITION BY LINEAR HASH(`dist`)

PARTITIONS 500;

 

将分区文件为偶数的表文件分布到另一个物理分区上    

 

#!/bin/sh

FILEDIR="/data/mysql5_5_20/data/gyyx_middle/"

MVDIR="/data1/mysql5_5_20/data/gyyx_middle/"

for i in `seq 0 249`

do

i=$[i*2]

mv ${FILEDIR}"wd_char_info#P#p"${i}".MYI" ${MVDIR}"wd_char_info#P#p"${i}".MYI"

mv ${FILEDIR}"wd_char_info#P#p"${i}".MYD" ${MVDIR}"wd_char_info#P#p"${i}".MYD"

done

 

在原目录下建立软链接

 

#!/bin/sh

FILEDIR="/data1/mysql5_5_20/data/gyyx_middle/"

LNDIR="/data/mysql5_5_20/data/gyyx_middle/"

FILELIST=`ls $FILEDIR`

for FILENAME in $FILELIST

do

ln -s ${FILEDIR}${FILENAME} ${LNDIR}${FILENAME}

done

 

bitsCN.com
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板