ansible-mysql/defaults/main.yml

138 lines
3.9 KiB
YAML

---
# -------------------------------------
# Setup
# -------------------------------------
mysql_origin: 'default'
mysql_vendor: 'mariadb'
mysql_root_password: 'change_me_NOW'
mysql_use_percona_repository: false
# -------------------------------------
# Configuration
# -------------------------------------
# MySQL connection settings.
mysql_port: "3306"
mysql_bind_address: '127.0.0.1'
mysql_datadir: '/var/lib/mysql'
mysql_pid_file: '/var/run/mysqld/mysqld.pid'
mysql_socket: '/var/run/mysqld/mysqld.sock'
# Slow query log settings.
mysql_slow_query_log_enabled: false
mysql_slow_query_log_file: '/var/log/mysql-slow.log'
mysql_slow_query_time: 2
# Memory settings (default values optimized ~512MB RAM).
mysql_key_buffer_size: '256M'
mysql_max_allowed_packet: '64M'
mysql_table_open_cache: '256'
mysql_sort_buffer_size: '1M'
mysql_read_buffer_size: '1M'
mysql_read_rnd_buffer_size: '4M'
mysql_myisam_sort_buffer_size: '64M'
mysql_thread_cache_size: '8'
mysql_query_cache_size: '16M'
# Other settings.
mysql_wait_timeout: 28800
# Try number of CPU's * 2 for thread_concurrency.
mysql_thread_concurrency: 2
# InnoDB settings.
mysql_innodb_file_per_table: '1'
mysql_innodb_buffer_pool_size: "{{ (ansible_memtotal_mb * 0.2) | round | int }}M"
mysql_innodb_additional_mem_pool_size: '20M' # See: http://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_additional_mem_pool_size
mysql_innodb_log_file_size: '64M'
mysql_innodb_log_buffer_size: '8M'
mysql_innodb_flush_log_at_trx_commit: '1'
mysql_innodb_lock_wait_timeout: 50
# mysqldump settings.
mysql_mysqldump_max_allowed_packet: '64M'
# Logging settings.
mysql_log: ''
mysql_log_error: '/var/log/mysql.err'
mysql_syslog_tag: 'mysql'
# -------------------------------------
# Extra configuration
# -------------------------------------
#
mysql_extra_configuration: []
# Example:
#mysql_extra_configuration:
# - group_name: 'mysqld'
# conf:
# - key: 'innodb_awsome_feature'
# value: 1
# -------------------------------------
# Replication
# -------------------------------------
mysql_replication_master: false
mysql_replication_slave: false
# This formula don't work with vagrant! All boxes have same default ip!
mysql_server_id: "{{ ansible_default_ipv4.address | ipaddr('int') }}"
mysql_replication_user: 'repl'
mysql_replication_password: 'change_me_NOW'
mysql_replication_host: '192.168.0.1'
mysql_replication_port: '3306'
mysql_backup_dir: '/var/backups/tmp-mysql'
# Master
mysql_max_binlog_size: "100M"
mysql_expire_logs_days: "10"
#
# Slave
#
mysql_slave_readonly: true
# Import data from
mysql_slave_import_data: true
# host used to create a backup (can be the master or another slave) - default: use the master
mysql_slave_import_from: "{{ mysql_replication_host }}"
# Delete dump after slave configuration (set false if you have many slaves to install, it avoids to create many dumps)
mysql_slave_import_flush_dump: true
# Slave uses mysql database from master?
mysql_slave_replicate_mysqldb: true
# Don't replicate these DBs/tables
mysql_slave_ignore_db: []
mysql_slave_ignore_table: []
# SSH user used to copy data
mysql_backup_user: "{{ ansible_user_id }}" # TODO: change var name
## If data is already imported, you can specify position
mysql_master_log_file: null
mysql_master_log_pos: null
# If true, reconfigure slave
mysql_slave_force_setup: false
# Only MariaDB 10.0+
mysql_gtid_domain_id: 1
# -------------------------------------
# Database / Users
# -------------------------------------
mysql_databases: []
mysql_users: []
# -------------------------------------
# MariaDB
# -------------------------------------
mariadb_version: '10.0' # (5.5, 10.0)
# See: http://mariadb.org/mariadb/repositories/
mariadb_repository: "http://ftp.igh.cnrs.fr/pub/mariadb/repo/{{ mariadb_version }}/debian"
# -------------------------------------
# Percona
# -------------------------------------
percona_version: '5.6'
percona_repository: 'http://repo.percona.com/apt'