bbatsche.MySQL

Ansible MySQLロール

ビルドステータス ライセンス ロール名 リリースバージョン ダウンロード数

このロールは、MySQL、MariaDB、またはPerconaサーバーをインストールおよび設定し、それらのサーバー用にデータベースやユーザーを作成します。

注意:同時にインストールできるのは1つのサーバーのみで、このロールは別のサーバータイプに切り替えることはサポートしていません。

ロール変数

  • db_admin — 作成する管理者ユーザー名。デフォルトは「vagrant」
  • db_pass — 作成する管理者ユーザーのパスワード。デフォルトは「vagrant」
  • env_name — このサーバーが「開発」「本番」など用に使用されるか。デフォルトは「dev」
  • install_mysql — MySQLサーバーをインストールするか。デフォルトは「いいえ」
  • install_mariadb — MariaDBサーバーをインストールするか。デフォルトは「いいえ」
  • install_percona — Perconaサーバーをインストールするか。デフォルトは「いいえ」
  • new_db_name — 作成するデータベースの名前。デフォルトは未定義(スキップ)
  • new_db_user — 作成する新ユーザーのユーザー名。デフォルトは未定義(スキップ)
  • new_db_pass — 作成する新ユーザーのパスワード。デフォルトは未定義(スキップ)
  • new_db_priv — 新ユーザーに付与する権限。デフォルトはサーバーまたはデータベースの完全な制御
  • remove_root_user — インストール時にrootユーザーを削除するか。デフォルトは削除する。
  • mysql_deb — APTに追加するMySQLリポジトリのURL。デフォルトは「https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb」
  • mariadb_apt_key.trusty — Trusty TahrにMariaDBをインストールするためのAPTキー。デフォルトは「0xcbcb082a1bb943db」
  • mariadb_apt_key.xenial — Xenial XerusにMariaDBをインストールするためのAPTキー。デフォルトは「0xF1656F24C74CD1D8」
  • mariadb_version — インストールするMariaDBのバージョン。デフォルトは「10.2」
  • mariadb_apt_mirror — MariaDBをダウンロードするためのミラー。デフォルトは「http://nyc2.mirrors.digitalocean.com」
  • percona_deb — APTに追加するPerconaサーバーリポジトリのURL。デフォルトは「https://repo.percona.com/apt/percona-release_0.1-4.{{ ansible_distribution_release }}_all.deb
  • percona_version — インストールするPerconaサーバーのバージョン。デフォルトは「5.7」
  • mysql_socket — MySQLソケットのパス。デフォルトは「/var/run/mysqld/mysqld.sock」
  • mysql_enable_network — 外部ネットワーク接続をリッスンするか。デフォルトは「いいえ」
  • mysql_sql_mode — 使用するSQLモード。デフォルトは「ANSI,TRADITIONAL」
  • mysql_max_connections — 許可する接続の最大数。デフォルトは「300」
  • mysql_wait_timeout — 待機タイムアウト。デフォルトは「300」

調整変数

MySQLはパフォーマンスやリソース使用を調整するための設定が多数あります。このロールでは、最も関連性の高い数個を設定または計算することができます。

  • mysql_mem_percent — MySQLが使用すべき総メモリの割合。これは制限ではなく、あくまで他の変数の計算に使うターゲットです。デフォルトは「40」
  • innodb_buffer_pool_percent — InnoDBバッファプールに使用するMySQLのメモリの割合。デフォルトは「90」
  • innodb_buffer_pool_size — InnoDBバッファプールに使用する総メモリの量。デフォルトはmysql_mem_percentおよびinnodb_buffer_pool_percentに基づいて計算されます
  • innodb_buffer_pool_chunk_size — InnoDBバッファプールのチャンクサイズ。デフォルトは「128M」
  • mysql_key_buffer_percent — キーバッファに使用するMySQLのメモリの割合。デフォルトは「40」
  • mysql_key_buffer_size — MySQLキーバッファに使用する総メモリの量。デフォルトはmysql_mem_percentおよびmysql_key_buffer_percentに基づいて計算されます
  • mysql_max_heap_table_size — 最大ヒープテーブルサイズ。デフォルトは総メモリに基づいて計算されます
  • mysql_open_files_limit — オープンファイル制限。デフォルトは総メモリの1MBあたり32
  • mysql_tmp_table_size — 一時テーブルサイズ。デフォルは総メモリに基づいて計算されます

パスワード検証変数

このロールでは、サーバーのパスワード検証要件を定義できます。この設定は開発環境ではスキップされます。

  • mysql_password_policy — MySQLパスワードポリシー。デフォルトは「MEDIUM」(MariaDBでは無視される)
  • mysql_password_check_username — ユーザー名がパスワードに含まれるかチェック。デフォルトは「OFF」(MariaDBでは無視される)
  • mysql_password_length — パスワード長の要件。デフォルトは「5」
  • mysql_password_mixed_case_count — 必要な大文字小文字の文字数。デフォルトは「0」
  • mysql_password_number_count — 必要な数字の数。デフォルトは「0」
  • mysql_password_special_char_count — 必要な非英数字の文字数。デフォルトは「0」

その他の調整変数

  • innodb_io_capacity — InnoDB IOキャパシティ。デフォルトは「400」
  • innodb_log_buffer_size — InnoDBログバッファサイズ。デフォルトは「16M」
  • myisam_sort_buffer_size — MyISAMソートバッファサイズ。デフォルトは「128M」
  • mysql_bulk_insert_buffer_size — バルクインサートバッファサイズ。デフォルトは「16M」
  • mysql_max_allowed_packet — 最大許可パケットサイズ。デフォルトは「16M」
  • mysql_query_cache_type — MySQLクエリキャッシュを有効にするか。デフォルトは「ON」
  • mysql_query_cache_size — クエリキャッシュサイズ。クエリキャッシュが有効な場合はデフォルト「32M」、そうでない場合は「0」
  • mysql_query_cache_limit — キャッシュのクエリサイズ制限。デフォルトは「1M」
  • mysql_read_buffer_size — リードバッファサイズ。デフォルトは「2M」
  • mysql_read_rnd_buffer_size — ランダムリードバッファサイズ。デフォルトは「2M」
  • mysql_sort_buffer_size — ソートバッファサイズ。デフォルトは「2M」
  • mysql_table_open_cache — テーブルオープンキャッシュ。デフォルトは「2000」

例のプレイブック

サービスをインストールする(MariaDB):

- hosts: servers
  roles:
     - role: bbatsche.MySQL
       install_mariadb: yes

新しいユーザーを作成する(サービスがすでにインストールされ、動作していると仮定):

- hosts: servers
  roles:
     - role: bbatsche.MySQL
       new_db_user: my_new_user
       new_db_pass: n0tV3ry$ecuRe

ライセンス

MIT

テスト

このロールには、各タスクを個別または全体としてテストするための一連の仕様が含まれています。これらのテストを実行するには、まずVirtualBoxVagrantをインストールする必要があります。仕様ファイルはServerspecを使用して書かれているため、RubyおよびBundlerが必要になります。

完全な仕様スイートを実行するには:

$ gem install bundler
$ bundle install
$ rake

仕様スイートは、Ubuntu Trusty Tahr (14.04)、Xenial Xerus (16.04)、およびBionic Bever (18.04)を対象とします。

利用可能なrakeタスク(および仕様)を表示するには:

$ rake -T

これらの仕様は冪等性をテストすることを目的としていません。指定されたタスクが期待されるステップを実行することを確認するためのものです。冪等性は、統合テストを通じて独立してテストされます。

プロジェクトについて

Simple role for installing the default version of MySQL for Ubuntu

インストール
ansible-galaxy install bbatsche.MySQL
ライセンス
mit
ダウンロード
4.8k
所有者