order_date DATE,
note VARCHAR(500),
INDEX idx (id)
) ENGINE = INNODB
PARTITION BY LIST(store_id) (
PARTITION p1
VALUES IN (1, 3, 4, 17)
INDEX DIRECTORY = ‘/var/orders/district1’
DATA DIRECTORY = ‘/var/orders/district1’,
PARTITION p2
VALUES IN (2, 12, 14)
INDEX DIRECTORY = ‘/var/orders/district2’
DATA DIRECTORY = ‘/var/orders/district2’,
PARTITION p3
VALUES IN (6, 8, 20)
INDEX DIRECTORY = ‘/var/orders/district3’
DATA DIRECTORY = ‘/var/orders/district3’,
PARTITION p4
VALUES IN (5, 7, 9, 11, 16)
INDEX DIRECTORY = ‘/var/orders/district4’
DATA DIRECTORY = ‘/var/orders/district4’,
PARTITION p5
VALUES IN (10, 13, 15, 18)
INDEX DIRECTORY = ‘/var/orders/district5’
DATA DIRECTORY = ‘/var/orders/district5’
);
* 定新路径下验证。
[root@f033b3fe25e2 orders]# tree
.
├── district1
│ └── test
│ └── orders_list2#P#p1.ibd
├── district2
│ └── test
│ └── orders_list2#P#p2.ibd
├── district3
│ └── test
│ └── orders_list2#P#p3.ibd
├── district4
│ └── test
│ └── orders_list2#P#p4.ibd
└── district5
└── test
└── orders_list2#P#p5.ibd
*
10 directories, 5 files
[root@f033b3fe25e2 orders]# pwd
/var/orders
*
查询验证:
mysql> explain partitions select * from orders_list2;
±—±------------±-------------±---------------±-----±--------------±-----±--------±-----±-----±------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | Extra |
±—±------------±-------------±---------------±-----±--------------±-----±--------±-----±-----±------+
| 1 | SIMPLE | orders_list2 | p1,p2,p3,p4,p5 | ALL | NULL | NULL | NULL | NULL | 11 | NULL |
±—±------------±-------------±---------------±-----±--------------±-----±--------±-----±-----±------+
1 row in set (0.00 sec)
*
### 步骤四:新增分区处理。
场景假设:比如最新的数据,我们想存储到SSD硬盘上。可以通过增加指定路径的分区文件达到目的。
ALTER TABLE orders_list2 ADD PARTITION (PARTITION p6 VALUES IN (21,22,23)
DATA DIRECTORY = ‘/var/ssd_testing’ INDEX DIRECTORY = ‘/var/ssd_testing’);
[root@f033b3fe25e2 var]# tree ssd_testing/
ssd_testing/
└── test
└── orders_list2#P#p6.ibd
*
六个分区结果:
mysql> explain partitions select * from orders_list2;
±—±------------±-------------±------------------±-----±--------------±-----±--------±-----±-----±------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | Extra |
±—±------------±-------------±------------------±-----±--------------±-----±--------±-----±-----±------+
| 1 | SIMPLE | orders_list2 | p1,p2,p3,p4,p5,p6 | ALL | NULL | NULL | NULL | NULL | 12 | NULL |
±—±------------±-------------±------------------±-----±--------------±-----±--------±-----±-----±------+
1 row in set (0.00 sec)
*
参考:<https://dev.mysql.com/doc/refman/5.6/en/tablespace-placing.html>
2016年10月21日 20:56 思于家中床前
作者:铭毅天下
转载请标明出处,原文地址:
<http://blog.csdn.net/laoyang360/article/details/52887016>
如果感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力,谢谢!
解决报错 [Err] 1210 - Incorrect arguments to DATA DIRECTORY
这里报错是因为在my.cnf中配置的datadir就是在 /data/mysql/mysql-percona-5.6.21/目录下,
解决方法:换另外一个目录,成功
CREATE TABLE orders_list (
id INT AUTO_INCREMENT,
customer_surname VARCHAR(30),
store_id INT,
salesperson_id INT,
order_date DATE,
note VARCHAR(500),
INDEX idx (id)
) ENGINE = INNODB
PARTITION BY LIST(store_id) (
PARTITION p1
VALUES IN (1, 3, 4, 17)
INDEX DIRECTORY = ‘/data1/datap1’
DATA DIRECTORY = ‘/data1/datap1’,
PARTITION p2
VALUES IN (2, 12, 14)
INDEX DIRECTORY = ‘/data1/datap2’
DATA DIRECTORY = ‘/data1/datap2’
);
到目录验证:
[root@xhdb01 data1]# tree /data1
/data1
├── datap1
│ └── test --多了这个目录
│ └── orders\_list#P#p1.ibd --只有.ibd文件
└── datap2
└── test
└── orders\_list#P#p2.ibd --只有.ibd文件
[root@xhdb01 data1]# tree /data/mysql/mysql-percona-5.6.21/test
/data/mysql/mysql-percona-5.6.21/test
├── district1
├── district2
├── orders\_list.frm
├── orders\_list.par
├── orders\_list#P#p1.isl --比平时多了这个文件
└── orders\_list#P#p2.isl --比平时多了这个文件
**报错[Err] 1030 - Got error -1 from storage engine**
INDEX DIRECTORY = ‘/data1/datap1’
DATA DIRECTORY = ‘/data1/datap1’
这里报错是因为 /data1/datap1 目录不存在,或者存在,但没有权限。
**解决方法:**
>
> 创建目录:
>
>
> mkdir -p /data1/datap1
>
>
> mkdir -p /data1/datap2
>
>
> 修改权限:
>
>
> chown -R mysql:mysql /data1/datap2
>
>
> chown -R mysql:mysql /data1/datap2
>
>
>
>
>
>
>
> ## linux下mysql数据库存放在不同磁盘或挂载的文件夹
>
>
>
>
> 原创
> 2014年08月20日 16:27:06
>
> * 4362
>
### 那么如何才能正确的掌握Redis呢?
为了让大家能够在Redis上能够加深,所以这次给大家准备了一些Redis的学习资料,还有一些大厂的面试题,包括以下这些面试题
* 并发编程面试题汇总
* JVM面试题汇总
* Netty常被问到的那些面试题汇总
* Tomcat面试题整理汇总
* Mysql面试题汇总
* Spring源码深度解析
* Mybatis常见面试题汇总
* Nginx那些面试题汇总
* Zookeeper面试题汇总
* RabbitMQ常见面试题汇总
JVM常频面试:
![Redis高频面试笔记:基础+缓存雪崩+哨兵+集群+Reids场景设计](https://img-blog.csdnimg.cn/img_convert/525ce371fc7969ccc374adf8463bc870.webp?x-oss-process=image/format,png)
Mysql面试题汇总(一)
![Redis高频面试笔记:基础+缓存雪崩+哨兵+集群+Reids场景设计](https://img-blog.csdnimg.cn/img_convert/4c9fa6f10f2a2acb1c082bbceee68858.webp?x-oss-process=image/format,png)
Mysql面试题汇总(二)
![Redis高频面试笔记:基础+缓存雪崩+哨兵+集群+Reids场景设计](https://img-blog.csdnimg.cn/img_convert/75345b5848c5ad9a3c1c39d6e821aca2.webp?x-oss-process=image/format,png)
Redis常见面试题汇总(300+题)
![Redis高频面试笔记:基础+缓存雪崩+哨兵+集群+Reids场景设计](https://img-blog.csdnimg.cn/img_convert/af7855e3c295e30761980d5f83527205.webp?x-oss-process=image/format,png)
* Zookeeper面试题汇总
* RabbitMQ常见面试题汇总
JVM常频面试:
[外链图片转存中...(img-E5ZVF3DU-1714426747115)]
Mysql面试题汇总(一)
[外链图片转存中...(img-wRdD3QrZ-1714426747116)]
Mysql面试题汇总(二)
[外链图片转存中...(img-1lZWwq99-1714426747116)]
Redis常见面试题汇总(300+题)
[外链图片转存中...(img-wqtRBvLT-1714426747117)]
> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**