A MySQL Storage Engine for AWS S3

A MySQL Storage Engine for AWS S3 is a plugin storage engine that allows MySQL to access Amazon Web Services.
Download

A MySQL Storage Engine for AWS S3 Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Mark Atwood
  • Publisher web site:
  • http://mark.atwood.name/code/s3-tools/

A MySQL Storage Engine for AWS S3 Tags


A MySQL Storage Engine for AWS S3 Description

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-archFigure out where the target install tree is. In my case it's /home/mark/mysql/builds/exampleFigure 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/mysqlThen run: ./config/bootstrap ./configure --with-mysql=/path/to/mysql-source --libdir=/path/to/mysql-plugins make && make installYou can optionally copy the "src" directory here into storage/ in theMySQL 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 thenrequest 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 FV8CY5793BC7CY32YOSN W9oQxQNJizGgjxNc82giE9/ipefQW19tuO2xpC9G(I just made those up with a random number generator.)Put this in your .bashrc fileAWS_ACCESS_KEY_ID=FV8CY5793BC7CY32YOSNAWS_ACCESS_KEY_SECRET=W9oQxQNJizGgjxNc82giE9/ipefQW19tuO2xpC9Gexport AWS_ACCESS_KEY_ID AWS_ACCESS_KEY_SECRETThis isnt used by the storage engine, but it makes using the s3 commandline tools easier.Use s3mkbucket to create a bucket. Remember that buckets are in aglobal namespace, and there are advantages to having them look lik adomain name. I suggest you snap up "s3.example.com", where"example.com" is your own domain name.s3mkbucket s3.example.coms3put -k solfege/Do -s "a deer, a female deer" s3.example.coms3put -k solfege/Re -s "a drop of golden sun" s3.example.coms3put -k solfege/Mi -s "a name I call myself" s3.example.coms3put -k solfege/Fa -s "a long long way to run" s3.example.coms3put -k solfege/So -s "a needle pulling thread" s3.example.coms3put -k solfege/La -s "a note to follow So" s3.example.coms3put -k solfege/Ti -s "a drink with jam and bread" s3.example.comThen at the mysql> prompt create table s3notes (s3id varchar(255) not null primary key, s3val blob) engine='AWSS3' 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.


A MySQL Storage Engine for AWS S3 Related Software