1. 程式人生 > >Ansible 從遠程主機添加或刪除MySQL數據庫

Ansible 從遠程主機添加或刪除MySQL數據庫

border sin ans ext targe odin 工作 ble edi

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 使用編碼模式,示例包括utf8latin1_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
  • present
  • absent
  • dump
  • import
數據庫狀態
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

註意

  • 需要遠程主機上的python-mysqldb包,以及mysql和mysqldump二進制文件。
  • 需要遠程主機上的MySQLdb Python包。對於Ubuntu,這和apt-get install python-mysqldb一樣簡單。(請參閱apt。)對於CentOS / Fedora,這與yum安裝MySQL-python一樣簡單。(見yum。)
  • 無論login_passwordlogin_user你逝去的憑據是必需的。如果不存在,則模塊將嘗試從中讀取憑據~/.my.cnf,最後回到使用MySQL默認登錄的“root”,沒有密碼。

狀態

該模塊被標記為預覽,這意味著它不能保證具有向後兼容的界面。

支持

這個模塊是沒有核心提交者監督的社區維護的。

有關這是什麽意思的更多信息,請閱讀模塊支持

為了幫助開發模塊,如果您有這樣的傾向,請閱讀社區信息和貢獻測試可編程開發模塊

Ansible 從遠程主機添加或刪除MySQL數據庫