今天在CSDN上有人问起分开存储数据文件的问题。
现在写下来。
为了突破磁盘搜索的瓶颈。我们要把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-80B4D:/MYSQLDATA 的目录2008-01-15 15:24
创建数据库:
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-80B4D:/MYSQLDATA 的目录2008-01-15 15:25
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]# lsdb.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
其他问题我会在后续更新的。