major / MySQLTuner-perl

MySQLTuner is a script written in Perl that will assist you with your MySQL configuration and make recommendations for increased performance and stability.
GNU General Public License v3.0
8.98k stars 1.29k forks source link

In 2.5.3 with a fresh MariaDB install, innodb_log_buffer_size increase message emits #783

Open davidfavor opened 5 months ago

davidfavor commented 5 months ago

MariaDB version I'm running...

lxd: net15-template-noble # mariadb --version
mariadb from 11.3.2-MariaDB, client 15.2 for debian-linux-gnu (x86_64) using  EditLine wrapper

Ran innodb_log_buffer_size up to 8G + message still emits.

Might be something to fix in a future version.

davidfavor commented 5 months ago

/etc/my.cnf contents...

[client]

port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld_safe]

socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]

# Management + Access

user               = mysql
pid-file           = /var/run/mysqld/mysqld.pid
basedir            = /usr
datadir            = /var/lib/mysql
tmpdir             = /tmp
socket             = /var/run/mysqld/mysqld.sock
port               = 3306
lc_messages_dir    = /usr/share/mysql
lc_messages        = en_US

bind-address       = 127.0.0.1

# This throws many warnings, which should be resolved prior to using
#skip-name-resolve
skip-external-locking
skip-networking

performance_schema = ON

#
# * Character sets
#

# MySQL/MariaDB default is Latin1, but in Debian we rather default to the full
# utf8 4-byte character set. See also client.cnf
character-set-server  = utf8mb4
collation-server      = utf8mb4_general_ci

# Logging

log_error           = /var/log/mysql/mariadb-error.log
log_warnings        = 2

general_log_file    = /var/log/mysql/mariadb-general.log
general_log         = OFF

slow_query_log_file = /var/log/mysql/mariadb-slow.log
slow_query_log      = ON
long_query_time     = 10
log_slow_rate_limit = 1
log_slow_verbosity  = query_plan,innodb,explain
log_slow_admin_statements

# Disable by default, as wp_options has no index
# log-queries-not-using-indexes

# General Settings

# thread_cache_size max + max_connections: must match, to effect either
max_connections     = 128
thread_cache_size       = 128

connect_timeout     = 5
wait_timeout        = 600
max_allowed_packet  = 16M
sort_buffer_size    = 4M
bulk_insert_buffer_size = 16M

# Lower of these two values used, so best keep them equal
tmp_table_size      = 256M
max_heap_table_size = 256M

# General

query_cache_type           = DEMAND
query_cache_strip_comments = 1

# disable query cache: query_cache_limit + query_cache_size == 0 for high speed InnoDB

query_cache_limit          = 0
query_cache_size           = 0

# join_buffer_size: allocated for every join, so best left low, else trouble will ensue
join_buffer_size           = 10M

# MyISAM

myisam_recover_options  = BACKUP
key_buffer_size         = 128M
myisam_sort_buffer_size = 512M
concurrent_insert       = 2
read_buffer_size        = 2M
read_rnd_buffer_size    = 1M

# InnoDB

innodb_buffer_pool_size        = 256M
innodb_buffer_pool_instances   = 1

innodb_log_buffer_size         = 64M
innodb_log_files_in_group      = 2
innodb_log_file_size           = 64M

innodb_file_per_table          = 1
innodb_io_capacity             = 1000

# innodb_open_files: should be greater than table_open_cache
innodb_open_files              = 4096

# table_open_cache == 64, per http://bit.ly/1mi7c4C
table_open_cache               = 64

innodb_flush_method            = O_DIRECT
innodb_flush_log_at_trx_commit = 2

[mysqldump]
quick
quote-names
max_allowed_packet  = 16M

[mysql]
#no-auto-rehash # faster start of mysql but no tab completion

[isamchk]
key_buffer      = 16M
PauloOF commented 4 months ago

I'm always getting the recommendation innodb_log_buffer_size (> xM), independently of x value at mysql config.

It seems a bug.

Neurozone commented 4 months ago

It depends if you have innodb tables or not (which I strongly recommend) but your innodb_buffer_size is way too low