A Buildout recipe to setup a MySQL database.
Project description
Recipe to install Mysql
Code repository: http://svn.plone.org/svn/collective/buildout/zest.recipe.mysql
It can be a problem getting both mysql and mysql’s python binding to install reliably on everyone’s development machine. Problems we encountered were mostly on the mac, as mysql gets installed into different locations by the official mysql distribution, macports and fink. And on the mac, the python binding needs a patch.
One solution: fix the underlying stuff and make mysql and mysql-python a dependency that has to be handled by the OS. Alternative solution: this ‘zest.recipe.mysql’ recipe. Warning: rough edges. It is not a properly documented and tested package as it originally was a quick need-to-get-something-working-now job.
Here’s a quick piece of buildout to get you started if you want to test it:
[buildout] parts = mysql ... [mysql] recipe = zest.recipe.mysql # Note that these urls usually stop working after a while... thanks... mysql-url = http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.86.tar.gz/from/http://mysql.proserve.nl/ mysql-python-url = http://surfnet.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.2.tar.gz [plone] ... eggs = ... ${mysql:eggs}
This ought to download and install mysql and mysql-python.
Mysql and mysql-python end up in ‘…/parts/mysql’.
mysql-python is installed as a development egg by buildout.
The socket and the database are in ‘…/var/mysql’.
Options
mysql-url – Download URL for the target version of MySQL (required).
mysql-python-url – Download URL for the target version of the Python wrappers (required)
python – path to the Python against which to build the wrappers (optional, currrently unused).
config-skeleton – path to a file used as a template for generating the instance-local my.cnf file (optional). If this option is not supplied, no configuration will be generated. If passed, the text from the indicated file will be used as a Python string template, with the following keys passed in the mapping to the % operator:
MYSQLD_INSTALL
MYSQLD_SOCKET
MYSQLD_PIDFILE
DATADIR
with-innodb – if set to a non-false value, will pass the --with-innodb option to the configure command.
Changelog
1.0.4 (2010-02-23)
Moved options documentation to the README.txt file. [maurits]
Add a recipe option, with-innodb: if set to a non-false value, will pass the --with-innodb option to the configure command. [rafrombrc]
1.0.3 (2009-10-19)
Add a recipe option, config-skeleton: if passed, points to a file used as a template for generating an instance-local my.cnf file. Ensure that the generated wrapper scripts use this file, if generated; if not, ensure that the wrappers disable “standard” config file lookups. [tseaver]
Document existing recipe options in class docstring. [tseaver]
Delegate command line arguments from wrapper script to the real mysqld_safe, just as with other wrappers. [tseaver]
1.0.2 (2009-10-14)
Unchanged rerelease of 1.0.1 due to fix packaging error. [maurits]
1.0.1 (2009-10-13)
Fix support for newer MySQL releases, thanks to a patch send in by Tres Seaver. [jladage]
1.0 (2009-10-09)
Nothing changed yet.
1.0beta (2008-10-21)
Added bin/stop-mysql script. [reinout]
0.9.1 (2008-10-20)
README update.
0.9 (2008-10-15)
Better conditional downloading/extracting of the zipfiles. [reinout]
Changing update method to check for existance of /parts/mysql. If you’ve removed that parts directory the full install will be run. Handy for updating old installs. [reinout]
0.8 (2008-10-10)
Changed mysql-python egg handling: it no longer installs an egg in your global egg cache (which gives errors when you have two buildouts that use it). Instead it installs the egg locally as a development egg. This means you have to include it in your instance’s egg list as ${mysql:eggs}. [reinout]
Added example parts to the buildout config so that it can be tested that way. There are no real other tests. [reinout]
0.4.0 (2008-03-16)
Created recipe with ZopeSkel [Jean-Paul Ladage].
Learned from the varnish recipe and wrote the build recipe which downloads, compiles and install MySQL and created wrapper scripts in the bin folder of the buildout.
Todo list
Contributors
Jean-Paul Ladage (Zest software): principal author
Reinout van Rees (Zest software): added development egg support.
Tres Seaver (Agendaless Consulting): bugfixes, config file generation.
Rob Miller: added ‘with-innodb’ option
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.