I have published the very first sharable Drizzle Amazon Machine Image (AMI) for AWS EC2, based on the good feedback from my discussion at the Drizzle Developer Day on what options we should try.
This first version is a 32bit Developer instance, showcasing Drizzle and all necessary developer tools to build Drizzle from source.
What you will find on drizzle-ami/intrepid-dev32 – ami-b858bfd1
Ubuntu 8.10 Intrepid 32 bit base server installation:
- build tools
- drizzle dependencies
- bzr 1.31.1
From the respective source trees the following software is available:
- drizzle 2009.04.997
- libdrizzle 0.0.2
- gearman 0.0.4
- memcached 1.2.8
- libmemcached 0.28
Drizzle has been configured with necessary dependencies for PAM authentication, http_auth, libgearman and MD5 but these don’t seem to be available in the binary distribution.
I will be creating additional AMI’s including 64bit and LAMP ready binary only images.
The following example shows using drizzle on this AMI. Some further work is necessary for full automation, parameters and logging. I’ve raised a number of issues the Drizzle Developers are now hard at work on.
- Starting Drizzle
ssh ubuntu@ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com sudo /etc/init.d/drizzle-server.init start &
- Testing Drizzle (the sakila database has been installed)
$ drizzle Welcome to the Drizzle client.. Commands end with ; or g. Your Drizzle connection id is 4 Server version: 2009.04.997 Source distribution Type 'help;' or 'h' for help. Type 'c' to clear the buffer. drizzle> select version(); +-------------+ | version() | +-------------+ | 2009.04.997 | +-------------+ 1 row in set (0 sec) drizzle> select count(*) from sakila.film; +----------+ | count(*) | +----------+ | 1000 | +----------+ 1 row in set (0 sec)
- Compiling Drizzle
sudo su - drizzle ls deploy drizzle libdrizzle sakila-drizzle cd drizzle ./configure --help Description of plugins: === HTTP Authentication Plugin === Plugin Name: auth_http Description: HTTP based authentications Supports build: static and dynamic === PAM Authenication Plugin === Plugin Name: auth_pam Description: PAM based authenication. Supports build: dynamic === compression UDFs === Plugin Name: compression Description: UDF Plugin for compression Supports build: static and dynamic Status: mandatory === crc32 UDF === Plugin Name: crc32 Description: UDF Plugin for crc32 Supports build: static and dynamic Status: mandatory === Error Message Plugin === Plugin Name: errmsg_stderr Description: Errmsg Plugin that sends messages to stderr. Supports build: dynamic === Daemon Example Plugin === Plugin Name: hello_world Description: UDF Plugin for Hello World. Supports build: dynamic === Gearman Logging Plugin === Plugin Name: logging_gearman Description: Logging Plugin that logs to Gearman. Supports build: dynamic === Query Logging Plugin === Plugin Name: logging_query Description: Logging Plugin that logs all queries. Supports build: static and dynamic Status: mandatory === Syslog Logging Plugin === Plugin Name: logging_syslog Description: Logging Plugin that writes to syslog. Supports build: static and dynamic Status: mandatory === MD5 UDF === Plugin Name: md5 Description: UDF Plugin for MD5 Supports build: static and dynamic === One Thread Per Connection Scheduler === Plugin Name: multi_thread Description: plugin for multi_thread Supports build: static Status: mandatory === Old libdrizzle Protocol === Plugin Name: oldlibdrizzle Description: plugin for oldlibdrizzle Supports build: static Status: mandatory === Pool of Threads Scheduler === Plugin Name: pool_of_threads Description: plugin for pool_of_threads Supports build: static Status: mandatory === Default Signal Handler === Plugin Name: signal_handler Description: plugin for signal_handler Supports build: static Status: mandatory === Single Thread Scheduler === Plugin Name: single_thread Description: plugin for single_thread Supports build: static Status: mandatory === Archive Storage Engine === Plugin Name: archive Description: Archive Storage Engine Supports build: static Status: mandatory === Blackhole Storage Engine === Plugin Name: blackhole Description: Basic Write-only Read-never tables Supports build: static and dynamic Configurations: max, max-no-ndb === CSV Storage Engine === Plugin Name: csv Description: Stores tables in text CSV format Supports build: static Status: mandatory === Memory Storage Engine === Plugin Name: heap Description: Volatile memory based tables Supports build: static Status: mandatory === InnoDB Storage Engine === Plugin Name: innobase Description: Transactional Tables using InnoDB Supports build: static and dynamic Configurations: max, max-no-ndb Status: mandatory === MyISAM Storage Engine === Plugin Name: myisam Description: Traditional non-transactional MySQL tables Supports build: static Status: mandatory Report bugs to <http://bugs.launchpad.net/drizzle>.