カスタム検索
このエントリーをはてなブックマークに追加
tomo.gif (1144 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)To previous pageTo home pageMailing to me

MySQLfsの話題と実験

Created: 19 August 2008


MySQLfsの小技

ダウンロードからインストール
MySQLの初期設定
MySQLfsのマウント
読み書きしてみる


 ダウンロードからインストール

ダウンロード

まず、FUSEをダウンロードします。

http://fuse.sourceforge.net/

2008年8月19日に、"fuse-2.7.4.tar.tar"がダウンロードできました。

以下の本家から、MySQLfsをダウンロードします。

http://sourceforge.net/projects/mysqlfs

2008年8月19日に、"mysqlfs-0.4.0-rc1.tar.bz2"がダウンロードできました。


インストール

FUSEを解凍して、インストールします。

# tar zxvf fuse-2.7.4.tar.tar
# cd fuse-2.7.4
# ./configure
# make
# make install

MySQLfsを解凍して、インストールします。

# tar jxvf mysqlfs-20.4.0-rc1.tar.bz2
# cd mysqlfs-20.4.0-rc1
# ./configure
# make

 MySQLの初期設定 

データベースの作成

MySQLを起動して、データベース("mysqlfs")を作ります。

mysql> create database mysqlfs;
mysql> grant all on mysqlfs.* to mysqlfs@localhost identified by 'mysqlfs';
mysql> flush privikeges;
mysql> quit

初期のテーブルを作成します。

# cd mysqlfs-0.4.0-rc1
# mysql -uroot -p mysqlfs < schema.sql

 MySQLfsのマウント 

ユーザを作成する

# useradd mysqlfs


マウントする

一般ユーザになり、マウントします。

# su mysqlfs
$ mkdir mysqlfs
$ mysqlfs -ohost=localhost -ouser=mysqlfs -opassword=mysqlfs
                                                          -odatabase=mysqlfs /home/mysqlfs/mysqlfs
* Opening logfile 'mysqlfs.log': OK
$

エラーが出なければマウントを確認します。以下のように表示されればマウントされています。

$ df -h mysqlfs
Filesystem サイズ 使用 残り 使用% マウント位置
fuse       0  0   0 -   /home/mysqlfs/mysqlfs
$


 読み書きしてみる 

書いてみる

マウントしたディレクトリに、コピーしてみます。

$ cp testfile.txt /home/mysqlfs/mysqlfs
$ ls /home/mysqlfs/mysqlfs
testfile.txt
$

一見、なんらフツーに見えますが、以下のように、MySQLの中を見てみると、書き込まれているのが確認できます。

mysql> show tables;
+-------------------+
| Tables_in_mysqlfs |
+-------------------+
| data_blocks        |
| inodes              |
| tree                |
+-------------------+
3 rows in set (0.00 sec)

mysql> select * from tree;
+-------+--------+--------------+
| inode | parent | name          |
+-------+--------+--------------+
|     1 |    NULL | /             |
|     3 |       1 | testfile.txt |
+-------+--------+------------+
2 rows in set (0.00 sec)

mysql> select * from inodes;
+-------+-------+---------+-------+-----+-----+------------+------------+------------+-------+
| inode | inuse | deleted | mode  | uid | gid | atime       | mtime      | ctime       | size  |
+-------+-------+---------+-------+-----+-----+------------+------------+------------+-------+
|     1 |      0 |        0 | 16877 | 500 | 500 | 1218687773 | 1218687773 | 1218687773 | 0      |
|     3 |      0 |        0 | 33188 | 501 | 501 | 1218737300 | 1218737300 | 1218737300 | 33726 |
+-------+-------+---------+-------+-----+-----+------------+------------+------------+-------+
2 rows in set (0.00 sec)

mysql> select * from data_blocks;

          :

mysql>


To previous pageTo home pageMailing to meJump to Top of pageline.gif (927 ツバツイツト)line.gif (927 ツバツイツト)tomo.gif (1144 ツバツイツト)
カスタム検索



このエントリーをはてなブックマークに追加