MYSQL 如果把数据文件保存到其他磁盘里

原创:杨涛
为了突破磁盘搜索的瓶颈。我们要把MYSQL的数据和索引保存到其他不同的磁盘中。目前还只是支持MyISAM引擎。在MYSQL中,官这个叫象征性链接。

1、在WINDOWS下的象征性链接。
数据库目录:E:\LAMP\mysql5\data
数据库名字:symlink
目的数据库目录:D:\MYSQLDATA
如果原来的数据库目录下已经有symlink的话,停掉MYSQL服务。然后移动相应目录到目的数据库目录。
建立一个文本文件用来保存目的数据库路径:symlink.sym内容为:D:\MYSQLDATA\symlink
然后启动MYSQL服务。
现在进行测试:
创建数据库之前:
D:\MYSQLDATA>dir
驱动器 D 中的卷是 新加卷
卷的序列号是 58DF-80B4

D:\MYSQLDATA 的目录

2008-01-15  15:24    <DIR>          .
2008-01-15  15:24    <DIR>          ..
               0 个文件              0 字节
               2 个目录 38,197,895,168 可用字节


创建数据库:
create database symlink;
use symlink;
create table t1(id int not null auto_increment primary key);
(1 row(s)affected)
(0 ms taken)

(0 row(s)affected)
(0 ms taken)

(0 row(s)affected)
(0 ms taken)

现在看这个目录:
D:\MYSQLDATA>dir
驱动器 D 中的卷是 新加卷
卷的序列号是 58DF-80B4

D:\MYSQLDATA 的目录

2008-01-15  15:25    <DIR>          .
2008-01-15  15:25    <DIR>          ..
2008-01-15  15:25    <DIR>          symlink
               0 个文件              0 字节
               3 个目录 38,197,882,880 可用字节

D:\MYSQLDATA>cd symlink

D:\MYSQLDATA\symlink>dir
驱动器 D 中的卷是 新加卷
卷的序列号是 58DF-80B4

D:\MYSQLDATA\symlink 的目录

2008-01-15  15:25    <DIR>          .
2008-01-15  15:25    <DIR>          ..
2008-01-15  15:25                61 db.opt
2008-01-15  15:25             8,556 t1.frm
               2 个文件          8,617 字节
               2 个目录 38,197,882,880 可用字节

2、LINUX下好像更简单。
[david yeung ~]# mkdir /home/david_yeung/mysqldata
[david yeung ~]# ln -s /usr/local/mysql/data/symlink /home/david_yeung/mysqldata/symlink
[david yeung ~]# cd /home/david_yeung/mysqldata/
[david yeung mysqldata]# cd symlink/
[david yeung symlink]# ls
db.opt  t1.frm  t1.MYD  t1.MYI
[david yeung symlink]# ls -l
婊璁?36
-rw-rw---- 1 mysql mysql   61 01-15 15:36 db.opt
-rw-rw---- 1 mysql mysql 8556 01-15 15:36 t1.frm
-rw-rw---- 1 mysql mysql    0 01-15 15:36 t1.MYD
-rw-rw---- 1 mysql mysql 1024 01-15 15:36 t1.MYI

再看一下表:
create table t_cs(id int not null,sym char(20) not null);
(0 row(s)affected)
(0 ms taken)

[david yeung symlink]# ls -l
婊璁?64
-rw-rw---- 1 mysql mysql   61 01-15 15:36 db.opt
-rw-rw---- 1 mysql mysql 8556 01-15 15:36 t1.frm
-rw-rw---- 1 mysql mysql    0 01-15 15:36 t1.MYD
-rw-rw---- 1 mysql mysql 1024 01-15 15:36 t1.MYI
-rw-rw---- 1 mysql mysql 8584 01-15 15:41 t_cs.frm
-rw-rw---- 1 mysql mysql    0 01-15 15:41 t_cs.MYD
-rw-rw---- 1 mysql mysql 1024 01-15 15:41 t_cs.MYI
其他问题我会在后续更新的。