# Copyright (c) 2007, 2013, Oracle and/or its affiliates
# Copyright (c) 2010, 2021, MariaDB Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA

# Default values that applies to all MySQL Servers
[mysqld]
disable-getopt-prefix-matching
plugin-maturity=unknown
open-files-limit=           1024
local-infile
character-set-server=      utf8mb4
collation-server=          utf8mb4_uca1400_ai_ci

# Increase default connect_timeout to avoid intermittent
# disconnects when test servers are put under load see BUG#28359
connect-timeout=            60

secure-file-priv= @ENV.MYSQLTEST_VARDIR

log-basename=mysqld
debug-no-sync

# Retry bind as this may fail on busy server
port-open-timeout=10

log-bin-trust-function-creators=1
key_buffer_size=            1M
sort_buffer_size=           256K
max_heap_table_size=        1M
loose-aria-pagecache-buffer-size=8M

loose-feedback-user-info=  mysql-test
loose-feedback-debug-startup-interval=20
loose-feedback-debug-first-interval=60
loose-feedback-debug-interval=60

loose-pam-debug

loose-innodb_data_file_path=      ibdata1:12M:autoextend
loose-innodb_buffer_pool_size=    8M
loose-innodb_lru_scan_depth=      100
loose-innodb_write_io_threads=    2
loose-innodb_read_io_threads=     2
loose-innodb_log_buffer_size=     2M
loose-innodb_log_file_size=       10M

slave-net-timeout=120

# MAINTAINER:
# the loose- syntax is to make sure the cnf file is also
# valid when building without the performance schema.

# Run tests with the performance schema instrumentation
loose-enable-performance-schema
# Run tests with a small number of instrumented objects
# to limit memory consumption with MTR
loose-performance-schema-accounts-size=100
loose-performance-schema-digests-size=200
loose-performance-schema-hosts-size=100
loose-performance-schema-users-size=100
loose-performance-schema-max-mutex-instances=5000
loose-performance-schema-max-rwlock-instances=5000
loose-performance-schema-max-cond-instances=1500
loose-performance-schema-max-file-instances=10000
loose-performance-schema-max-socket-instances=1000
loose-performance-schema-max-table-instances=500
loose-performance-schema-max-table-lock-stat=500
loose-performance-schema-max-index-stat=5000
loose-performance-schema-max-table-handles=1000
loose-performance-schema-max-prepared-statements-instances=100
loose-performance-schema-max-program-instances=5000
loose-performance-schema-setup-actors-size=100
loose-performance-schema-setup-objects-size=100

loose-performance-schema-events-waits-history-size=10
loose-performance-schema-events-waits-history-long-size=10000
loose-performance-schema-events-stages-history-size=10
loose-performance-schema-events-stages-history-long-size=1000
loose-performance-schema-events-statements-history-size=10
loose-performance-schema-events-statements-history-long-size=1000
loose-performance-schema-events-transactions-history-size=10
loose-performance-schema-events-transactions-history-long-size=1000
loose-performance-schema-max-thread-instances=400
loose-performance-schema-session-connect-attrs-size=2048
loose-performance-schema-max-metadata-locks=10000

# Enable everything, for maximum code exposure during testing

loose-performance-schema-instrument='%=ON'

loose-performance-schema-consumer-events-stages-current=ON
loose-performance-schema-consumer-events-stages-history=ON
loose-performance-schema-consumer-events-stages-history-long=ON
loose-performance-schema-consumer-events-statements-current=ON
loose-performance-schema-consumer-events-statements-history=ON
loose-performance-schema-consumer-events-statements-history-long=ON
loose-performance-schema-consumer-events-transactions-current=ON
loose-performance-schema-consumer-events-transactions-history=ON
loose-performance-schema-consumer-events-transactions-history-long=ON
loose-performance-schema-consumer-events-waits-current=ON
loose-performance-schema-consumer-events-waits-history=ON
loose-performance-schema-consumer-events-waits-history-long=ON
loose-performance-schema-consumer-global-instrumentation=ON
loose-performance-schema-consumer-thread-instrumentation=ON

binlog-direct-non-transactional-updates

default-storage-engine=myisam
use_stat_tables=preferably
histogram_type=json_hb

loose-ssl-ca=@ENV.MYSQL_TEST_DIR/std_data/cacert.pem
loose-ssl-cert=@ENV.MYSQL_TEST_DIR/std_data/server-cert.pem
loose-ssl-key=@ENV.MYSQL_TEST_DIR/std_data/server-key.pem

# here, at the end of [mysqld] group mtr will automatically disable
# all optional plugins.

[embedded]
# mtr automatically adds [embedded] group at the end and copies [mysqld]
# and [mysqld.1] groups into it.
# but we want [server] group to be after [mysqld] (and its copies).
# create a non-empty [embedded] group here, to force it before [server]
local-infile

[server]
# Aria is optional, but it must be enabled if it's used for temporary
# tables.  Let's enable it in the [server] group, because this group
# is read after [mysqld] and [embedded]
loose-aria
