- MySQLdb
- mysql (command line binary)
- mysqldump (command line binary)
parameter | required | default | choices | comments |
---|---|---|---|---|
collation |
no |
Collation mode (sorting). This only applies to new table/databases and does not update existing ones, this is a limitation of MySQL.
|
||
config_file (added in 2.0) |
no | ~/.my.cnf |
Specify a config file from which user and password are to be read.
|
|
connect_timeout (added in 2.1) |
no | 30 |
The connection timeout when connecting to the MySQL server.
|
|
encoding |
no |
Encoding mode to use, examples include
utf8 or latin1_swedish_ci |
||
login_host |
no | localhost |
Host running the database.
|
|
login_password |
no |
The password used to authenticate with.
|
||
login_port |
no | 3306 |
Port of the MySQL server. Requires login_host be defined as other then localhost if login_port is used.
|
|
login_unix_socket |
no |
The path to a Unix domain socket for local connections.
|
||
login_user |
no |
The username used to authenticate with.
|
||
name |
yes |
name of the database to add or remove
name=all May only be provided if state is
dump or import .if name=all Works like --all-databases option for mysqldump (Added in 2.0)
aliases: db
|
||
quick (added in 2.1) |
no | True |
Option used for dumping large tables
|
|
single_transaction (added in 2.1) |
no |
Execute the dump in a single transaction
|
||
ssl_ca (added in 2.0) |
no |
The path to a Certificate Authority (CA) certificate. This option, if used, must specify the same certificate as used by the server.
|
||
ssl_cert (added in 2.0) |
no |
The path to a client public key certificate.
|
||
ssl_key (added in 2.0) |
no |
The path to the client private key.
|
||
state |
no | present |
|
The database state
|
target |
no |
Location, on the remote host, of the dump file to read from or write to. Uncompressed SQL files (
.sql ) as well as bzip2 (.bz2 ), gzip (.gz ) and xz (Added in 2.0) compressed files are supported. |
- name: Create a new database with name 'bobdata' mysql_db: name: bobdata state: present # Copy database dump file to remote host and restore it to database 'my_db' - name: Copy database dump file copy: src: dump.sql.bz2 dest: /tmp - name: Restore database mysql_db: name: my_db state: import target: /tmp/dump.sql.bz2 - name: Dump all databases to hostname.sql mysql_db: state: dump name: all target: /tmp/{{ inventory_hostname }}.sql - name: Import file.sql similar to mysql -u <username> -p <password> < hostname.sql mysql_db: state: import name: all target: /tmp/{{ inventory_hostname }}.sql
Note
login_password
and login_user
are required when you are passing credentials. If none are present, the module will attempt to read the credentials from ~/.my.cnf
, and finally fall back to using the MySQL default login of ‘root’ with no password.This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.