Here is a completely useless filesystem based on MySQL database storage – mysqlfuse, implemented with Fuse.
I didnt find any way how i can use it, but meanwhile, this fs working. Not perfect of course, in that case its not maintained for a long time. Doesnt support information about free drive space, so any filemanager keeps saying ‘Error: No space left on device’. Such case making it more useless.
It`s really easy to set it up.
First, we need to install developer headers for fuse:
$ apt-get install libfuse-dev
Next, getting sources (32bit only, not working in 64bit):
$ wget http://voxel.dl.sourceforge.net/sourceforge/mysqlfs/mysqlfs-0.4.0-rc1.tar.bz2
Unpack it, and compile:
$ tar -xjvf mysqlfs-0.4.0-rc1.tar.bz2 $ cd mysqlfs-0.4.0-rc1 $ ./configure && make && make install
Next, we need to setup the database
CREATE DATABASE mysqlfs; GRANT SELECT, INSERT, UPDATE, DELETE ON mysqlfs.* TO mysqlfs@"%" IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
And create database schema. SQL file located in root folder of the sources
$ mysql -uroot -p mysqlfs < schema.sql
And finally, mount filesystem to some folder:
$ mysqlfs -ohost=MYSQLHOST -ouser=MYSQLUSER -opassword=MYSQLPASS -odatabase=mysqlfs MOUNT_DIR
Now, its gonna be working. To use automatic configuration parameters you can create section [mysqlfs] in your mysql configuration file (my.cnf)
Parameters:
-ohost=MySQL server host -ouser= MySQL username -opassword= MySQL password -odatabase= MySQL database name
That`s it. Anyway, using FUSE there is a way to create so weird filesystems proxy. For example, there is SQLite over FUSE. And it is too old. Next time i`ll write about Amazon S3 over FUSE projects.