반응형
[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

port                            = 3306
socket                          = /var/lib/mysql/mysql.sock

[mysqld]
transaction_isolation = READ-COMMITTED
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8mb4'
character-set-server = utf8mb4
# === Required Settings ===
basedir                         = /usr
bind_address                    = 127.0.0.1 # Change to 0.0.0.0 to allow remote connections
datadir                         = /var/lib/mysql
max_allowed_packet              = 256M
max_connect_errors              = 1000000
#pid_file                        = /var/run/mysqld/mysqld.pid
port                            = 3306

socket                          = /var/lib/mysql/mysql.sock
tmpdir                          = /tmp
#user                            = mysql
performance_schema = on
# === SQL Compatibility Mode ===
# Enable for b/c with databases created in older MySQL/MariaDB versions
# (e.g. when using null dates)
#sql_mode                       = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES

# === InnoDB Settings ===
default_storage_engine          = InnoDB
innodb_lru_scan_depth           = 1024    # from 1024 default to reduce CPU cycles used every SECOND
innodb_buffer_pool_instances    = 4     # Use 1 instance per 1GB of InnoDB pool size
innodb_buffer_pool_size         = 38G    # Use up to 70-80% of RAM
innodb_file_per_table           = 1
innodb_flush_log_at_trx_commit  = 1
innodb_flush_method             = O_DIRECT
innodb_log_buffer_size          = 32M
innodb_log_files_in_group       = 2
innodb_log_file_size            = 512M #128M
innodb_stats_on_metadata        = 0
innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G
#innodb_additional_mem_pool_size = 20M

#innodb_temp_data_file_path     = ibtmp1:64M:autoextend:max:20G # Control the maximum size for the ibtmp1 file
#innodb_thread_concurrency      = 4     # Optional: Set to the number of CPUs on your system (minus 1 or 2) to better
                                        # contain CPU usage. E.g. if your system has 8 CPUs, try 6 or 7 and check
                                        # the overall load produced by MySQL/MariaDB.
innodb_read_io_threads          = 16 #64
innodb_write_io_threads         = 16 #64
innodb_io_capacity              = 500  # Max is 2000
innodb_io_capacity_max = 2000

# === MyISAM Settings ===
# The following 3 options are ONLY supported by MariaDB & up to MySQL 5.7
# Do NOT un-comment on MySQL 8.x+
query_cache_limit              = 1M    # UPD
query_cache_size               = 128M   # UPD
query_cache_type               = 1     # Enabled by default

#key_buffer_size                 = 256M   # UPD 32M
key_buffer_size = 128M #128M


low_priority_updates            = 1
concurrent_insert               = 2

# === Connection Settings ===
max_connections                 = 1000   # UPD - Important: high no. of connections = high RAM consumption

back_log                        = 512
thread_cache_size               = 50   # 2048
thread_stack                    = 256K #192K

interactive_timeout             = 50
wait_timeout                    = 180

# For MySQL 5.7+ only (disabled by default)
#max_execution_time             = 30000 # Set a timeout limit for SELECT statements (value in milliseconds).
                                        # This option may be useful to address aggressive crawling on large sites,
                                        # but it can also cause issues (e.g. with backups). So use with extreme caution and test!
                                        # More info at: https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_execution_time

# For MariaDB 10.1.1+ only (disabled by default)
#max_statement_time             = 30    # The equivalent of "max_execution_time" in MySQL 5.7+ (set above)
                                        # The variable is of type double, thus you can use subsecond timeout.
                                        # For example you can use value 0.01 for 10 milliseconds timeout.
                                        # More info at: https://mariadb.com/kb/en/aborting-statements/

# === Buffer Settings ===
innodb_sort_buffer_size         = 16M    # UPD 2
join_buffer_size                = 16M    # UPD 4
read_buffer_size                = 128K    # UPD 3
read_rnd_buffer_size            = 8M    # UPD 4
sort_buffer_size                = 2M    # UPD 4

# === Table Settings ===
# In systemd managed systems like Ubuntu 16.04+ or CentOS 7+, you need to perform an extra action for table_open_cache & open_files_limit
# to be overriden (also see comment next to open_files_limit).
# E.g. for MySQL 5.7, please check: https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html
# and for MariaDB check: https://mariadb.com/kb/en/library/systemd/
#table_definition_cache          = 40000 # UPD
table_open_cache                = 6000 #6000 # UPD
open_files_limit                = 20000 #20000 # UPD - This can be 2x to 3x the table_open_cache value or match the system's
                                        # open files limit usually set in /etc/sysctl.conf or /etc/security/limits.conf
                                        # In systemd managed systems this limit must also be set in:
                                        # /etc/systemd/system/mysqld.service.d/override.conf (for MySQL 5.7+) and
                                        # /etc/systemd/system/mariadb.service.d/override.conf (for MariaDB)

max_heap_table_size             = 512M #512M
tmp_table_size                  = 512M #512M

# === Search Settings ===
ft_min_word_len                 = 3     # Minimum length of words to be indexed for search results

# === Logging ===
log_error                       = /var/log/mariadb/mysql-error.log
log_queries_not_using_indexes   = 1
long_query_time                 = 4
slow_query_log                  = 1     # Disabled for production
slow_query_log_file             = /var/log/mariadb/mysql-slow.log

# Don't listen on a TCP/IP port at all.
skip-networking
skip-name-resolve
skip-host-cache
skip-external-locking

[mysqldump]
# Variable reference
# For MySQL 5.7+:  https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
# For MariaDB:     https://mariadb.com/kb/en/library/mysqldump/
quick
quote_names
max_allowed_packet              = 512M


[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
반응형
폰박사