| 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.
© 2012–2017 Michael DeHaan
© 2017 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/mysql_db_module.html