Module to provide MySQL compatibility to salt.
In order to connect to MySQL, certain configuration is required in /etc/salt/minion on the relevant minions. Some sample configs might look like:
mysql.host: 'localhost'
mysql.port: 3306
mysql.user: 'root'
mysql.pass: ''
mysql.db: 'mysql'
You can also use a defaults file:
mysql.default_file: '/etc/mysql/debian.cnf'
Required python modules: MySQLdb
Members
Repairs the full database or just a given table
CLI Example:
salt '*' mysql.db_check dbname
Adds a databases to the MySQL server.
CLI Example:
salt '*' mysql.db_create 'dbname'
Checks if a database exists on the MySQL server.
CLI Example:
salt '*' mysql.db_exists 'dbname'
Return a list of databases of a MySQL server using the output from the SHOW DATABASES query.
CLI Example:
salt '*' mysql.db_list
Optimizes the full database or just a given table
CLI Example:
salt '*' mysql.db_optimize dbname
Removes a databases from the MySQL server.
CLI Example:
salt '*' mysql.db_remove 'dbname'
Repairs the full database or just a given table
CLI Example:
salt '*' mysql.db_repair dbname
Shows the tables in the given MySQL database (if exists)
CLI Example:
salt '*' mysql.db_tables 'database'
Frees a slave from its master. This is a WIP, do not use.
Adds a grant to the MySQL server.
CLI Example:
salt '*' mysql.grant_add 'SELECT|INSERT|UPDATE|...' 'database.*' 'frank' 'localhost'
Removes a grant from the MySQL server.
CLI Example:
salt '*' mysql.grant_revoke 'SELECT,INSERT,UPDATE' 'database.*' 'frank' 'localhost'
Return the number of seconds that a slave SQL server is lagging behind the master, if the host is not a slave it will return -1. If the server is configured to be a slave for replication but slave IO is not running then -2 will be returned.
CLI Example:
salt '*' mysql.slave_lag
Return the status of a MySQL server using the output from the SHOW STATUS query.
CLI Example:
salt '*' mysql.status
Change password for MySQL user
CLI Examples:
salt '*' mysql.user_chpass frank localhost newpassword
salt '*' mysql.user_chpass frank localhost password_hash='hash'
Creates a MySQL user.
CLI Examples:
salt '*' mysql.user_create 'username' 'hostname' 'password
salt '*' mysql.user_create 'username' 'hostname' password_hash='hash'
Checks if a user exists on the MySQL server.
CLI Example:
salt '*' mysql.user_exists 'username' 'hostname'
Shows the grants for the given MySQL user (if it exists)
CLI Example:
salt '*' mysql.user_grants 'frank' 'localhost'
Get full info on a MySQL user
CLI Example:
salt '*' mysql.user_info root localhost
Return a list of users on a MySQL server
CLI Example:
salt '*' mysql.user_list