`
java-mans
  • 浏览: 11386418 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

应用环境OLAP,请不要再直接在OLTP环境下参考

要合并不同服务器上的数据,考虑到以后会不断添加游戏区组服务器,所以使用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


分享到:
评论

相关推荐

    创建mysql表分区的方法

    表分区是最近才知道的哦 ,以前自己做都是分表来实现上亿级别的数据了,下面我来给大家介绍一下mysql表分区创建与使用吧,希望对各位同学会有所帮助。表分区的测试使用,主要内容来自于其他博客文章以及mysql5.1的...

    oracle分区表之hash分区表的使用及扩展

    Hash分区是Oracle实现表分区的三种基本分区方式之一。对于那些无法有效划分分区范围的大表,或者出于某些特殊考虑的设计,需要使用Hash分区,下面介绍使用方法

    HASH分区表增加新的分区的一点研究.doc

    HASH分区表增加新的分区的一点研究 HASH分区的ADD PARTITION和RANGE分区、LIST分区的SPLIT PARTITION很类似

    ubuntu交叉编译mysql5.5所需的三个x86平台的文件

    ubuntu交叉编译mysql5.5需要三个x86平台的文件,但它自动生成的是目标平台上的文件,所要不能在x86平台下运行。这三个文件是:comp_err comp_sql gen_lex_hash

    mysql使用教程之分区表的使用方法(删除分区表)

    3,分区数据可以被分布到不同的物理位置,可以做分布式有效利用多个硬盘驱动器。 MySQL可以建立四种分区类型的分区: RANGE 分区:基于属于一个给定连续区间的列值,把多行分配给分区。 LIST 分区:类似于按RANGE...

    mysql表分区

    mysql表分区策略,包含range分区、list分区、hash分区等方法介绍及详解

    mysql_hash.exe/使用hash登陆mysql

    在获取到mysql用户的hash后, 可用hash直接登陆mysql进行操作 比如我们注入出数据库的hash,但是没办法拿到webshell 我们可以使用mysql_hash,用hash登陆并控制数据库 使用方法: mysql_hash.exe -u root -p Enter ...

    MySQL 5.1中文手冊

    2.10.3. 将MySQL数据库拷贝到另一台机器 2.11. 降级MySQL 2.12. 具体操作系统相关的注意事项 2.12.1. Linux注意事项 2.12.2. Mac OS X注意事项 2.12.3. Solaris注意事项 2.12.4. BSD注意事项 2.12.5. 其它Unix注意...

    MYSQL中文手册

    2.10.3. 将MySQL数据库拷贝到另一台机器 2.11. 降级MySQL 2.12. 具体操作系统相关的注意事项 2.12.1. Linux注意事项 2.12.2. Mac OS X注意事项 2.12.3. Solaris注意事项 2.12.4. BSD注意事项 2.12.5. 其它...

    MySQL 5.1参考手册

    2.10.3. 将MySQL数据库拷贝到另一台机器 2.11. 降级MySQL 2.12. 具体操作系统相关的注意事项 2.12.1. Linux注意事项 2.12.2. Mac OS X注意事项 2.12.3. Solaris注意事项 2.12.4. BSD注意事项 2.12.5. 其它Unix注意...

    MySQL 5.1参考手册 (中文版)

    2.10.3. 将MySQL数据库拷贝到另一台机器 2.11. 降级MySQL 2.12. 具体操作系统相关的注意事项 2.12.1. Linux注意事项 2.12.2. Mac OS X注意事项 2.12.3. Solaris注意事项 2.12.4. BSD注意事项 2.12.5. 其它Unix注意...

    MySQL 5.1参考手册中文版

    2.10.3. 将MySQL数据库拷贝到另一台机器 2.11. 降级MySQL 2.12. 具体操作系统相关的注意事项 2.12.1. Linux注意事项 2.12.2. Mac OS X注意事项 2.12.3. Solaris注意事项 2.12.4. BSD注意事项 2.12.5. 其它Unix...

    MySQL 5.1官方简体中文参考手册

    2.10.3. 将MySQL数据库拷贝到另一台机器 2.11. 降级MySQL 2.12. 具体操作系统相关的注意事项 2.12.1. Linux注意事项 2.12.2. Mac OS X注意事项 2.12.3. Solaris注意事项 2.12.4. BSD注意事项 2.12.5. 其它Unix注意...

    MySQL分区表的基本入门教程

    前言 在最近的项目中,我们需要保存大量的数据,而且这些数据是有有效期的,为了提供查询... Hash分区:基于给定的分区个数,将数据分配到不同的分区,HASH分区只能针对整数进行HASH,对于非整形的字段只能通过表达式

    mysql分区资源整理

    不影响应用的业务逻辑 分区有利于管理非常大的表,它采用分而治之的逻辑,分区引入了分区键的概念,分区键用于根据某个区间值(或者范围值)、特定值列表或者hash函数值执行数据的聚集,让数据根据规则分布在不同的...

    mysql官方中文参考手册

    2.10.3. 将MySQL数据库拷贝到另一台机器 2.11. 降级MySQL 2.12. 具体操作系统相关的注意事项 2.12.1. Linux注意事项 2.12.2. Mac OS X注意事项 2.12.3. Solaris注意事项 2.12.4. BSD注意事项 2.12.5. 其它Unix注意...

    HASH_hash_stm32hash_stm32hash表_stm32f407_

    stm32f407平台上实现的hash算法

    mysql通过Navicat分区实操讲解

    mysql分区有利于管理非常大的表,mysql分区一共有四种类型,range分区,list分区, hash分区,key分区,我们通过Navicat 可视化工具来分区 1、打开Navicat 找到指定的数据库,设计表 2、打开设计表选择选项,下面有...

Global site tag (gtag.js) - Google Analytics