summaryrefslogtreecommitdiffstats
path: root/mysql/root-galera/usr/share/container-scripts/mysql/pre-init/30-ands-tuning.sh
blob: 4c60495af3d696efd1726313a680f40240dcc3b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
export MYSQL_SUPER_READ_ONLY=${MYSQL_SUPER_READ_ONLY:-0}
export MYSQL_READ_ONLY=${MYSQL_READ_ONLY:-$MYSQL_SUPER_READ_ONLY}

export MYSQL_LOG_BIN=${MYSQL_LOG_BIN:-1}
export MYSQL_SYNC_BINLOG=${MYSQL_SYNC_BINLOG:-0}
export MYSQL_BINLOG_ROW_IMAGE=${MYSQL_BINLOG_ROW_IMAGE:-full}
export MYSQL_LOG_SLAVE_UPDATES=${MYSQL_LOG_SLAVE_UPDATES:-0}
export MYSQL_BINLOG_SYNC_DELAY=${MYSQL_BINLOG_SYNC_DELAY:-0}
export MYSQL_BINLOG_NODELAY_COUNT=${MYSQL_BINLOG_NODELAY_COUNT:-0}
export MYSQL_INNODB_FLUSH_METHOD=${MYSQL_INNODB_FLUSH_METHOD:-fsync}
export MYSQL_INNODB_FLUSH_LOG_TYPE=${MYSQL_INNODB_FLUSH_LOG_TYPE:-2}
export MYSQL_INNODB_FLUSH_LOG_TIMEOUT=${MYSQL_INNODB_FLUSH_LOG_TIMEOUT:-1}
export MYSQL_INNODB_THREAD_CONCURENCY=${MYSQL_INNODB_THREAD_CONCURENCY:-0}
export MYSQL_INNODB_BUFFER_POOL_INSTANCES=${MYSQL_INNODB_BUFFER_POOL_INSTANCES:-8}

export MYSQL_SLAVE_PARALLEL_TYPE=${MYSQL_SLAVE_PARALLEL_TYPE:-LOGICAL_CLOCK}
export MYSQL_SLAVE_WORKERS=${MYSQL_SLAVE_WORKERS:-4}
export MYSQL_SLAVE_SKIP_ERRORS=${MYSQL_SLAVE_SKIP_ERRORS:-ddl_exist_errors}

export MYSQL_UNSAFE_FSYNC_OPTIMIZATIONS=${MYSQL_UNSAFE_FSYNC_OPTIMIZATIONS:-0}


log_info 'Processing basic Ands configuration files ...'
envsubst < ${CONTAINER_SCRIPTS_PATH}/pre-init/ands-tuning.cnf.template > /etc/my.cnf.d/ands-tuning.cnf

if [ ${MYSQL_READ_ONLY} -eq 1 ]; then
    envsubst < ${CONTAINER_SCRIPTS_PATH}/pre-init/ands-ro-modes.cnf.template > /etc/my.cnf.d/ands-ro-modes.cnf
else
    rm -f /etc/my.cnf.d/ands-ro-modes.cnf || true
fi

if [ ${MYSQL_UNSAFE_FSYNC_OPTIMIZATIONS} -eq 1 ]; then
    envsubst < ${CONTAINER_SCRIPTS_PATH}/pre-init/ands-unsafe-fsync.cnf.template > /etc/my.cnf.d/ands-unsafe-fsync.cnf
else
    rm -f /etc/my.cnf.d/ands-unsafe-fsync.cnf || true
fi

if [ -v MYSQL_RUNNING_AS_SLAVE ] ; then
  log_info 'Processing basic Ands configuration for replication (slave only) files ...'
  envsubst < ${CONTAINER_SCRIPTS_PATH}/pre-init/ands-slave.cnf.template > /etc/my.cnf.d/ands-slave.cnf

    if [ $MYSQL_LOG_BIN -ne 0 ]; then
        log_info 'Enabling log-bin in slave configuration files ...'
        envsubst < ${CONTAINER_SCRIPTS_PATH}/pre-init/ands-slave-logbin.cnf.template > /etc/my.cnf.d/ands-slave-logbin.cnf
    fi
fi