A MySQL Storage Engine for AWS S3 0.06

A MySQL Storage Engine for AWS S3 is a plugin storage engine that allows MySQL to access Amazon Web Services.
A MySQL Storage Engine for AWS S3 project is a plugin storage engine that allows MySQL to access Amazon Web Services Simple Storage Service (AWS S3) buckets and items.

You need a MySQL source tree, and you need to have it built.

Figure out where the source tree is.
In my case it's /home/mark/mysql/mysql-5.1-arch
Figure out where the target install tree is.
In my case it's /home/mark/mysql/builds/example
Figure out where the MySQL build puts storage engine plugins.
It's probably in lib/mysql under the install tree
Or it's /usr/lib/mysql
Or it's /usr/local/lib/mysql
For me it's /home/mark/mysql/builds/example/lib/mysql

Then run:

./configure --with-mysql=/path/to/mysql-source --libdir=/path/to/mysql-plugins
make && make install

You can optionally copy the "src" directory here into storage/ in the
MySQL server source, rebuild MySQL, and things should compile.

Next, you should probably install the S3 command line tools.
They depend on you having Python.

Get them at http://www.hanzoarchives.com/development-projects/s3-tools/

If you don't have one yet, you need an Amazon AWS account, and then
request that they enable S3. Go to http://amazonaws.com/ to do that.
You will need to get your "AWS Access Key Identifiers".

Assume they are


(I just made those up with a random number generator.)

Put this in your .bashrc file


This isnt used by the storage engine, but it makes using the s3 command
line tools easier.

Use s3mkbucket to create a bucket. Remember that buckets are in a
global namespace, and there are advantages to having them look lik a
domain name. I suggest you snap up "s3.example.com", where
"example.com" is your own domain name.

s3mkbucket s3.example.com
s3put -k solfege/Do -s "a deer, a female deer" s3.example.com
s3put -k solfege/Re -s "a drop of golden sun" s3.example.com
s3put -k solfege/Mi -s "a name I call myself" s3.example.com
s3put -k solfege/Fa -s "a long long way to run" s3.example.com
s3put -k solfege/So -s "a needle pulling thread" s3.example.com
s3put -k solfege/La -s "a note to follow So" s3.example.com
s3put -k solfege/Ti -s "a drink with jam and bread" s3.example.com

Then at the mysql> prompt

create table s3notes (s3id varchar(255) not null primary key, s3val blob)
connection='awss3 s3.example.com FV8CY5793BC7CY32YOSN W9oQxQNJizGgjxNc82giE9/ipefQW19tuO2xpC9G';
select * from s3notes where s3id='solfege/Re';
insert into s3notes (s3id, s3val) values ('color/Red', 'ff 00 00');
select * from s3notes where s3id='color/Red';
delete from s3notes where s3id='color/Red';

You can name the table anything you want, but the fields must be named s3id and s3val, and s3id must be the primary key.

What's New in This Release:

More flexible schema, CREATE SERVER, and SELECT without WHERE are supported.

last updated on:
April 20th, 2007, 18:36 GMT
license type:
GPL (GNU General Public License) 
developed by:
Mark Atwood
ROOT \ Database \ Database Engines
A MySQL Storage Engine for AWS S3
Download Button

In a hurry? Add it to your Download Basket!

user rating 22



Rate it!

Add your review!