将MySQL数据库的作为文件系统使用_MySQL数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

将MySQL数据库的作为文件系统使用

作者:黑客防线网安MYSQL维护基地 来源:黑客防线网安MYSQL维护基地 浏览次数:0

本篇关键词:系统使用文件作为
黑客防线网安网讯:  利用MySQLfs这个工具,我么可以在MySQL关系数据库中存储文件系统。MySQLfs将文件系统中文件的字节内容分解成数据库中的元组,而数据库并不需要支持BLOB超大字段类型。利用MySQLfs,我们...
  利用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 | |
  +-------+------------------+------+-----+---------+-------+
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-8981-1.html
网站维护教程更新时间:2012-03-20 16:49:49  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer