MariaDBのインストールとセットアップを行います。
インストールするMariaDBのパッケージを指定します。
mariadb_packages: -mariadb-client -mariadb-server -mysqltuner
追加/削除するデータベースを指定します。
また、データベースの作成と同時にそのデータベース用のユーザー情報も同時に設定できます。
mariadb_databases: -name:samplestate:true# 文字コード(オプション)encoding:utf8mb4# 照合順序(オプション)collation:utf8mb4_general_ci# インポートするデータ(オプション)import_data:/tmp/sample.sql.bz2# データベースの作成とユーザーの登録を同時に行う# hostsが設定されているか否かで -name:db_with_user_info# データベースユーザー名(オプション)# ※省略された場合はデータベース名が利用されますuser:db_user# データベース接続パスワードpassword:sample_user_password# 接続許可ホストhosts: -"127.0.0.1" -"::1" -localhost
追加/削除するデータベースユーザーを指定します。
mariadb_users: -name:sample_userpassword:sample_user_passwordhosts: -"127.0.0.1" -"::1" -localhostpriv:"sample.*:ALL"state:false
MariaDBの設定を定義します。
mariadb_cfg:mysqld:## Generalsql_mode: -ONLY_FULL_GROUP_BY -STRICT_TRANS_TABLES -NO_ZERO_IN_DATE -NO_ZERO_DATE -ERROR_FOR_DIVISION_BY_ZERO -NO_AUTO_CREATE_USER -NO_ENGINE_SUBSTITUTIONbind_address:127.0.0.1# datadir: /var/lib/mysql# socket: /var/run/mysqld/mysqld.sock# innodb_data_home_dir: /var/lib/mysql## Networkmax_connections:"{{ mariadb_max_connections }}"# connect_timeout: 10skip_name_resolve:false# max_allowed_packet: 16M# interactive_timeout: 3600# wait_timeout: 600table_open_cache:"{{ mariadb_max_connections * mariadb_max_table_use_in_query }}"thread_cache_size:"{{ mariadb_max_connections }}"table_definition_cache:"{{ 400 + (mariadb_max_connections * mariadb_max_table_use_in_query / 2)|int }}"## Global Buffers# Total Global Buffer Size =# + key_buffer_size# + innodb_buffer_pool_size# + innodb_log_buffer_size# + max_heap_table_size# + query_cache_size## Cachequery_cache_limit:8Mquery_cache_size:64Mquery_cache_type:1# ------------------# InnoDB# ------------------## InnoDB Generalinnodb_file_per_table:trueinnodb_flush_log_at_trx_commit:1innodb_buffer_pool_size:"{{ ((ansible_memtotal_mb * 1024 * 1024) * (mariadb_innodb_baffer_pool_rate / 100))|int }}"innodb_log_file_size:"{{ (((ansible_memtotal_mb * 1024 * 1024) * (mariadb_innodb_baffer_pool_rate / 100)) / 4)|int }}"innodb_log_files_in_group:2innodb_additional_mem_pool_size:32Minnodb_log_buffer_size:32M# innodb_strict_mode: false# innodb_large_prefix: true# innodb_file_format: Antelopemax_heap_table_size:32Mtmp_table_size:32M## Thread Buffer# Total Thread Buffer Size =# + sort_buffer_size# + read_rnd_buffer_size# + join_buffer_size# + read_buffer_size# + max_allowed_packet# + thread_stacksort_buffer_size:512Kjoin_buffer_size:512Kread_buffer_size:512Kread_rnd_buffer_size:512K# ------------------# MyISAM# ------------------## Global Bufferkey_buffer_size:"{{ ((ansible_memtotal_mb * 1024 * 1024) * (mariadb_myisam_key_baffer_rate / 100))|int }}"## Thread Buffer# myisam_sort_buffer_size: 64M# -----------------# Logging# -----------------slow_query_log:truelong_query_time:1# log_warnings: 0# min_examined_row_limit: 0# log_queries_not_using_indexes: false# log_slow_admin_statements: falseslow_query_log_file:/var/log/mysql/slow_query.log# general_log: false# general_log_file: /var/log/mysql/general.log# -----------------# Replication# -----------------# gtid_domain_id: 1# server_id: 1# log_bin: mysql-bin# binlog_format: ROW# expire_logs_days: 10# read_only: false# log_slave_updates: false# -----------------# Other Extra Setting# -----------------# extra_setting: ""# mysqld_safe:# datadir: /var/lib/mysql# socket: /var/run/mysqld/mysqld.sock
-hosts:serversroles: -role:mariadb
MIT