转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> 其他 >> 正文
MySQL数据目录结构(2)         ★★★★

MySQL数据目录结构(2)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1982 更新时间:2009/4/22 23:21:51
[晏子]
3 重定位数据库目录



前面讨论的数据目录结构是缺省配置
所有数据库和状态文件均包含其中然而你有某些自由决定数据目录内容的位置本节讨论为什么你可能移走部分数据目录或甚至目录本身、你能移走什么以及你如何做这些改变。
MySQL允许你重定位数据目录或其中的成员
由几个原因你为什么要这样做

你能将数据目录放在你缺省所在的文件系统更大容量的文件系统上。

如果你的数据目录在一个繁忙的硬盘上
你可能把它放在不太忙的磁盘上以均衡磁盘活动。你可以把数据库和日志文件放在分开的磁盘上或跨磁盘分布。

你可能想运行多个服务器
各自有自己的数据目录这是解决每个进程文件描述符限制问题的一种方法特别是你不能重新配置内核以允许更高的限制。

有些系统在例如
/var/run中保存服务器的部分文件你可能想把MySQL的PID文件也放在那儿为了系统操作的一致性。



3
.1 重定位方法



有两种方法重定位数据目录的内容


你可以在服务器启动时指定选项
在命令行或在一个选项文件的[mysqld]中。

你可以移走要重定位的东西
然后在原位置做一个指向新位置的符号连接。



两种方法都不能解决你能重定位的一切
下表总结了什么能重定位和用哪种方法重定位。如果你使用选项文件有可能在全局选项文件/etc/my.cnfWindows上的c:\my.cnf指定选项。当前的Windows版本也寻找系统目录c:\Windows或c:\NT。表 重定位方法

重定位方法 适用的重定位方法

整个数据目录 启动选项或符号连接

单个数据库目录 符号连接

单个数据库表 符号连接

PID文件 启动选项

一般日志 启动选项

更新日志 启动选项



你也可以使用缺省数据目录中的选项文件my
.cnf但不推荐使用该文件。如果你想重定位数据目录本身你不得不让缺省数据目录可读以便使你能在这里放置选项文件指定服务器应该在哪里找到“真正”的数据目录这很混乱。如果你想使用一个选项文件指定服务器选项最好使用/etc/my.cnf。

3
.1 检验重定位的效果



在试图重定位任何东西之前
检验操作达到预期效果是个好主意。借助于du、df和ls -l命令获得磁盘空间的信息但这些依赖于你正确了解你的文件系统的布局。

下面演示一个在你检验一个属目录重定位时的设计陷阱。假定你的数据目录是
/usr/local/var而你想把它移到/var/mysql因为df显示/var文件系统有很多的空闲空间



%df /usr /varFilesystem  1k-blocks     Used   Avail  Capacity  Mounted on/dev/wd0s3e    396895   292126   73018    80%     /usr/dev/wd0s3f   1189359  1111924  162287    15%     /var  



重定位的数据目录在
/usr文件系统上有多少空闲空间呢要知道它使用du -s找出该目录使用多少空间。

%cd /usr/local/var%du -s .133426



这大约是130MB
真实这样吗在数据目录下试一下df

%df /usr/local/varFilesystem  1k-blocks     Used   Avail  Capacity  Mounted on/dev/wd0s3f   1189359  1111924  162287    15%     /var 



这就奇怪了。如果我们为包含
/usr/local/var的文件系统申请空闲空间为什么却报告var上的空间呢这里ls -l提供了答案

%ls -l /usr/local....lrwxrwxrwx  1  root  wheel  10 Dec 11 23:33 var -> /var/mysql.... 



输出显示
/usr/local/var是对/var/mysql的符号连接换句话说数据目录已经被重定位于/var文件系统并用一个指向那里的符号连接代替。通过将数据目录移到/var竟然释放了/usr上那么多空间



3.2 重定位数据目录



要重定位数据目录
关闭服务器并把数据目录移到新位置上然后你应该删除员数据目录并用指向新位置的符号连接代替它或用明确指出新位置的选项重启服务器。下表列出指定位置的命令行和选项。表 数据目录重定位语法

选项源 语法

命令行
--data-dir=/path/to/dir

选项文件
[mysqld]

[1] [2]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台