Database JUNKY

MySQL,MariaDBを中心としたブログです

MySQL8.0環境でのmy.cnfの設定について

バージョン変わるたびにいつも混乱する。my.cnfの設定、、今回ももれなく混乱しました。 細かいところの説明は抜きにして、これで前バージョンの必要な設定は継承したかな?ってレベルまで作り込んでみました。

f:id:hit10231023:20180309104332j:plain

my.cnf (MySQL 8.0用)

Innodbのチューニングがオートマチックっぽくなったのはうれしいですね。あと、デフォルトがONになっているものも多くなり、わざわざ my.cnfに設定する項目もすくなくなったかな?といった感想です。本当によくはなっているんですよね!! 初回の設定で大変ってだけで。。

てなわけで、コピペ用のmy.cnfつけておきますね

mysql 8.0でのmy.cnf

[mysqld]

# 旧 MySQL (5.7) との互換性確保
default_authentication_plugin=mysql_native_password

explicit_defaults_for_timestamp = true

sql_mode = 'IGNORE_SPACE,PIPES_AS_CONCAT'
server-id = 101010101

log-bin-trust-function-creators=1

# character-set-server = utf8mb4
# collation-server = utf8mb4_ja_0900_as_cs

# MySQL5.7の設定の互換性確保
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8

lower_case_table_names = 1

# expire_logs_days = 1   <--- 次回から廃止の可能性あり
binlog_expire_logs_seconds=18000

slow_query_log=1
long_query_time = 1.0

max_connections = 10000
max_connect_errors = 10

# transaction_isolation = READ-COMMITTED

innodb_dedicated_server=ON
innodb_lock_wait_timeout = 120
# innodb_flush_log_at_trx_commit=0

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

slave-skip-errors=1062,1032

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid