打印本文 打印本文 关闭窗口 关闭窗口
MySQL数据目录结构(2)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1985  更新时间:2009/4/22 23:21:51  文章录入:mintao  责任编辑:mintao
datadir=/path/to/dir



3
.3 重定位数据库



数据库能通过符号连接的方法移走。要重定位一个数据库
关闭服务器并移走数据库目录并删除原来的数据库目录用指向新位置的符号连接代替它然后重启服务器。

下例显示你如何将一个数据库bigdb移到一个不同的地方


%mysqladmin -u root -p shutdownEnter password: ******%cd DATADIR%tar cf - bigdb | (cd /var/db; tar xf -)%mv bigdb bigdb.origln -s /var/db/bigdb .%safe_mysqld 



你应该以该数据目录的拥有者执行这些命令。为了安全起见
原数据库目录改名为bigdb.orig。在你验证了服务器工作正常后你可以删除原数据目录。

%rm -rf bigdb.orig



3
.4 重定位数据库表



重定位一个单独的表不是个好主意。你可以通过把表文件移到一个不同地方
并在数据目录中创建指向这些文件的符号连接进行。然而如果你发出一条ALTER TABLE或OPTIMIZE TABLE语句将不进行你的修改。

每个语句通过在数据库目录中创建一个实现你修改或优化的临时表
然后删除原来的表并将临时表更名为原来的表来完成结果是你的符号连接被删除而且新表又回到数据库目录这是你移走前的原表文件位置。更糟糕的是你还没有意识到它们在那儿继续占据着空间而且符号连接已经被破坏这样以后当你意识到发生的事情时如果你忘记你把它们移到什么地方你可能没有好办法追踪文件了。

因为很难保证具有表访问权的人不修改或优化表
所以最好把表留在数据库目录中。



3
.5 重定位状态文件



你可以重中定位PID文件、一般日志和更新日志。出错日志由safe_mysqld用启动选项创建
而不能被重定位除非你编辑safe_mysqld

要在一个不同位置写入状态文件
关闭服务器然后由指定新状态文件位置的适当选项启动它。下表列出每一个文件的命令行和选项文件的语法。表 状态文件重定位语法

选项源 语法

命令行
--pid-file=pidfile

--log=lodfile

--log-update=updatefile

选项文件
[mysqld]

pid-file=pidfile

log
=lodfile

log
-update=updatefile



如果你用绝对路径名指定状态文件
用该路径创建文件否则文件在数据目录下创建。如如果你指定--pid-file=/var/run/mysqld.pidPID文件是/var/run/mysqld.pid。如果你指定-pid-file=mysqld.pidPID文件是DATADIR/mysqld.pid。

如果你指定无扩展名的更新日志文件
MySQL在它每次打开更新日志时产生顺序名。这些名字用一个扩展名.nnn这里.nnn是还没被现有更新日志使用的第一个数字如update.000,update.001等。你可以通过明确指定扩展名来覆盖顺序名这时服务器将只使用指定的名字。 




 

上一页  [1] [2] 

打印本文 打印本文 关闭窗口 关闭窗口