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.
1. Starting Drizzle
ssh ubuntu@ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com
sudo /etc/init.d/drizzle-server.init start &
2. 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)
3. 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>.