What you could do is let yum just start and install it's stuff in /var/lib/mysql. Then an exec of mysql_install_db with an onlyif attribute that checks for the mysql metadata in /data/mysql.
On Wed, Dec 4, 2013 at 4:02 PM, Thomas <[email protected]> wrote: > Yes it might be tricky to integrate it but I think this would be a useful > enhancement. > > > On Wednesday, December 4, 2013 7:38:46 AM UTC-5, Luke Bigum wrote: >> >> It should be theoretically possible. The mysql-server package owns >> /var/lib/mysql, but it is the mysql_install_db script that sets up an empty >> database in $datadir when the service starts if $datadir is empty. If you >> update your config file before you start the mysql server, you should be >> able to point it at any datadir you like. It will leave an empty directory >> at /var/lib/mysql, but hopefully you are ok with that as it's owned by an >> RPM. >> >> I had a quick look at the module, /var/lib/mysql is hard coded in a lot >> of places and you'd have to override / set most of them as well as in >> my.cnf: >> >> $ grep -R '/var/lib/mysql' * >> manifests/params.pp: $datadir = '/var/lib/mysql' >> manifests/params.pp: $socket = >> '/var/lib/mysql/mysql.sock' >> manifests/params.pp: $datadir = '/var/lib/mysql' >> manifests/params.pp: /(SLES|SLED)/ => >> '/var/lib/mysql/mysql.sock', >> manifests/params.pp: /(SLES|SLED)/ => >> '/var/lib/mysql/mysqld.pid', >> manifests/params.pp: $datadir = '/var/lib/mysql' >> manifests/params.pp: $datadir = '/var/lib/mysql' >> manifests/params.pp: $socket = >> '/var/lib/mysql/mysql.sock' >> >> >> On Wednesday, December 4, 2013 12:30:31 PM UTC, Walter Heck wrote: >>> >>> Tried and failed. The problem is that the mysql package automatically >>> uses /var/lib/mysql, so the right sequence is: >>> >>> 1) yum install mysql-server >>> 2) service mysqld stop >>> 3) adjust my.cnf >>> 4) make moves on filesystem if needed >>> 5) service mysqld start >>> (steps 2 and 3 can be reversed) >>> >>> This is hard to puppetise as it is only needed the very first time when >>> mysql is not yet installed. I've only ever had to do this on smaller groups >>> of servers at a time, so always resorted to doing it manually. >>> >>> let me know if you figure it out, would be great to see a solution in >>> puppetlabs-mysql. >>> >>> >>> On Wednesday, 4 December 2013 02:39:50 UTC+1, Thomas wrote: >>>> >>>> Has anybody sucessfully used puppetlabs-mysql (or some other method) to >>>> install MySQL-server on Linux with a my.cnf where datadir != /var/lib/mysql >>>> ? >>>> >>> -- > You received this message because you are subscribed to a topic in the > Google Groups "Puppet Users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/puppet-users/mkQygmpa610/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/c274653e-dc52-4f18-8908-59024b2450dd%40googlegroups.com > . > > For more options, visit https://groups.google.com/groups/opt_out. > -- Walter Heck -- Check out my startup: Puppet training and consulting @ http://www.olindata.com Follow @olindata on Twitter and/or 'Like' our Facebook page at http://www.facebook.com/olindata -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAJojfjqK4uY9ePh%3DSS7HJkfMXUHLNU2g0%2B0SXeFEMt8x5yoLQw%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.
