Forge Home


This class runs mysql functions from the command line.


9,976 latest version

1.6 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.3.0 (latest)
  • 1.0.2
  • 1.0.1
  • 1.0.0
released Jul 14th 2014

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'runthebusiness-mysqlexec', '1.3.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add runthebusiness-mysqlexec
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install runthebusiness-mysqlexec --version 1.3.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



runthebusiness/mysqlexec — version 1.3.0 Jul 14th 2014


This class runs mysql functions from the command line.

This module does not manage the installation and configuration of mysql but is instead focused on invoking mysql commands from the command line.

Here are some key features:

1) The ability to run commands on a remote database instead of just on the local machine (The initial reason why we wrote the module) 2) The ability to run any sql command through puppet 3) The ability to set up unless conditions that can be written as command line execution or a mysql query 4) Handling for the zoneinfo file 5) Built in handling of: users / user privileges, schemas and populating table data loaded from flat files


mysqlexec{"mysqlexecexample": host=>, username=>, password=>, mysqlcommand=>, mysqlunless=><an mysql query that returns true or false, if true the command will not run>, }

mysqlexec::db{"mysqldbexecexample": host=>, username=>, password=>, dbname=, ensure=, }

mysqlexec::loaddata{"mysqlloaddataexecexample": host=>, username=>, password=>, table=>, filepath=, columns=>[], checkdata=><will bypass the other unless functions and use the built in checkdata functionality of the module, this uses the mysqlunless functionality to see if there is already data in the table>, replace=>, }

mysqlexec::user{"mysqluserexecexample": host=>, username=>, password=>, dbuser=>, dbpassword=>, privileges => [], dbname =>, ensure=> }

This module has been tested in debian squeeze, if you use it in another flavor and it works fine as is or if you have improvements to the params class to allow it to work in your flavor please let us know.


Will Ferrer, Ethan Brooks

Contributing Authors

Mark Cartwright, Andreyev Dias de Melo


2012 developed under license for Switchsoft LLC a "Direct response telephony company" as part of it's "VOIP Call distribution, ROI analysis platform, call recording, and IVR for inbound and outbound sales" and Run the Business Systems LLC a "Technology development investment group" as part of it's "PHP, Javascript rapid application development framework and MySQL analysis tools"


Licensed under the terms of the Open Source LGPL 3.0 license.



Please send tickets and issues to our contact email address or at:

Project Url