Ansible 从远程主机添加或删除MySQL数据库
Posted 会飞の鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible 从远程主机添加或删除MySQL数据库相关的知识,希望对你有一定的参考价值。
mysql_db - 从远程主机添加或删除MySQL数据库。
概要
- 从远程主机添加或删除MySQL数据库。
要求(在执行模块的主机上)
- MySQLdb的
- mysql(命令行二进制)
- mysqldump(命令行二进制)
选项
参数 | 需要 | 默认 | 选择 | 注释 |
---|---|---|---|---|
collation |
no |
整理模式(排序)。这仅适用于新的表/数据库,并且不更新现有的表,这是MySQL的限制。
|
||
CONFIG_FILE (2.0中加入)
|
no | ?/ .my.cnf |
指定要从中读取用户和密码的配置文件。
|
|
connect_timeout (2.1中加入)
|
no | 30 |
连接到MySQL服务器时的连接超时。
|
|
encoding |
no |
使用编码模式,示例包括
utf8 或latin1_swedish_ci |
||
login_host |
no | localhost |
主机运行数据库。
|
|
login_password |
no |
用于验证的密码。
|
||
login_port |
no | 3306 |
MySQL服务器端口。如果使用login_port,则需要将login_host定义为其他本地主机。
|
|
login_unix_socket |
no |
到本地连接的Unix域套接字的路径。
|
||
login_user |
no |
用于验证的用户名。
|
||
name |
yes |
要添加或删除的数据库的名称
name = all仅当状态为
dump 或时才可用import 。如果name = all就像mysqldump的--all-databases选项一样工作(在2.0中添加)
别名:db
|
||
quick (2.1加入)
|
no | True |
用于转储大表的选项
|
|
single_transaction (2.1加入)
|
no |
在单个事务中执行转储
|
||
ssl_ca (2.0加入)
|
no |
证书颁发机构(CA)证书的路径。此选项(如果使用)必须指定与服务器使用的相同的证书。
|
||
ssl_cert (2.0加入)
|
no |
客户端公钥证书的路径。
|
||
ssl_key (2.0加入)
|
no |
客户端私钥的路径。
|
||
state |
no | present |
|
数据库状态
|
target |
no |
在远程主机上的位置,转储文件的读取或写入。支持未压缩的SQL文件(
.sql )以及bzip2(.bz2 ),gzip(.gz )和xz(2.0中添加)压缩文件。 |
例子
- 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
注意
状态
该模块被标记为预览,这意味着它不能保证具有向后兼容的界面。
以上是关于Ansible 从远程主机添加或删除MySQL数据库的主要内容,如果未能解决你的问题,请参考以下文章