- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安MYSQL维护基地 来源:黑客防线网安MYSQL维护基地 浏览次数:0 |
利用MySQLfs这个工具,我么可以在MySQL关系数据库中存储文件系统。MySQLfs将文件系统中文件的字节内容分解成数据库中的元组,而数据库并不需要支持BLOB超大字段类型。利用MySQLfs,我们可以将一个文件系统直接扔到MySQL数据库中,并可以利用数据库的备份,集群和复制等功能来保护MySQLfs文件系统。
MySQLfs似乎并不为Fedora, openSUSE, 或Ubuntu等系统提供二进制包,所以你必须编译它的源文件。为了编译MySQLfs,我们必须先安装mysql-devel和fuse-devel包(FUSE可以让任何应用程序通过LINUX内核访问文件系统,这意味着你可以立即用任意的应用程序来使用FUSE文件系统)。如果你丢失了一些devel包,配置时将会遇到一些比较麻烦的问题。举例来说,在我的Fedora 8 64位机上,刚开始因为找不到FUSE开发包,我无法通过mysqlclient_r链接;找不到FUSE开发包这个错误将在链接标签中生成一个单独的 –L,从而导致链接mysql客户端测试程序失败。另外,编译将默认使用-Wall,-Werror,在开始产生警告时也会导致编译失败。因此,我们可以不使用-Werror,并确保需要的所有包都已经安装等方式来解决编译问题。一但成功编译source,make install命令将把MySQLfs默认安装到目录/usr/local/bin下。
下面的命令可以通过MySQLfs来创建一个MySQL数据库。
注意:make install命令在默认情况下并没有将schema.sql安装到你的计算机上,你必须将schema复制到某个位置,以方便以后建立其他的MySQLfs数据库。
# mysql -p
mysql> CREATE DATABASE mysqlfs;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON mysqlfs.* TO mysqlfs@"%" IDENTIFIED BY 'foobar';
mysql> FLUSH PRIVILEGES;
mysql> Bye
# mysql -uroot -p mysqlfs < /tmp/mysqlfs-0.4.0-rc1/schema.sql
该数据库模式包含3个表:tree、inodes和data_blocks。tree表将一个节点inode映射到其父节点,下图将显示部分表的内容。
在下面显示的模式中,我通过路径guten/alice13a.txt导入了一个文件。文件系统的命名层次结构是在树表中表示的,the alice13a.txt这个文件被存放到guten目录下,guten目录是在MySQLfs文件系统根目录下创建的。inode表包含了所有的信息,这些信息可以被start(2)调用。Data_blocks表用来村存储实际的文件字节内容。
mysql> select * from tree;
+-------+--------+----------------------+
| inode | parent | name |
+-------+--------+----------------------+
| 1 | NULL | / |
| 2 | 1 | guten |
| 3 | 2 | alice13a.txt |
...
mysql> select * from inodes;
+-------+-------+---------+-------+-----+-----+------------+------------+------------+----------+
| inode | inuse | deleted | mode | uid | gid | atime | mtime | ctime | size |
+-------+-------+---------+-------+-----+-----+------------+------------+------------+----------+
| 1 | 0 | 0 | 16877 | 0 | 0 | 1201155861 | 1201155861 | 1201155861 | 0 |
| 2 | 0 | 0 | 16888 | 500 | 500 | 1200108244 | 1200108244 | 1201156234 | 0 |
| 3 | 0 | 0 | 33184 | 500 | 500 | 1200108239 | 1200108239 | 1201156234 | 153477 |
...
mysql> describe data_blocks;
+-------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------+------+-----+---------+-------+
| inode | bigint(20) | NO | PRI | | |
| seq | int(10) unsigned | NO | PRI | | |
| data | blob | YES | | NULL | |
+-------+------------------+------+-----+---------+-------+
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |