荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Pazu (质变), 信区: Database
标  题: MYSQL性能优化(4)
发信站: BBS 荔园晨风站 (Tue Apr 18 11:24:56 2000), 转信


10.2.2.1 为数据库和表使用符号链接

你可以从数据库目录移动表和数据库到别处,并且用链接到新地点的符号代替它们。
你可能想要这样做,例如,转移一个数据库到有更多空闲空间的一个文件系统。

如果MySQL注意到一个表是一个符号链接,它将解析符号链接并且使用其实际指向的
表,它可工作在支持realpath()调用的所有系统上(至少Linux和Solaris支持
realpath())!在不支持realpath()的系统上,你应该不同时通过真实路径和符号链
接访问表!如果你这样做,表在任何更新后将不一致。

MySQL缺省不支持数据库链接。只要你不在数据库之间做一个符号链接,一切将工作
正常。假定你在MySQL数据目录下有一个数据库db1,并且做了一个符号链接db2指向
db1:

shell> cd /path/to/datadir
shell> ln -s db1 db2

现在,对在db1中的任一表tbl_a,在db2种也好象有一个表tbl_a。如果一个线程更新
db1.tbl_a并且另一个线程更新db2.tbl_a,将有问题。

如果你确实需要这样,你必须改变下列在“mysys/mf_format.c”中的代码:


if (!lstat(to,&stat_buff))  /* Check if it's a symbolic link */
    if (S_ISLNK(stat_buff.st_mode) && realpath(to,buff))

把代码改变为这样:

if (realpath(to,buff))

--



            我和我的影子。

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.0.189]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店