运行命令
docker run -d \
--name mysql8 \
--restart=always \
-p 3307:3306 \
-e MYSQL_ROOT_PASSWORD=test123456 \
-e TZ=Asia/Shanghai \
-v /opt/mysql8/data:/var/lib/mysql \
-v /opt/mysql8/conf/my.cnf:/etc/mysql/conf.d/my.cnf \
mysql:8.0.46 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci \
--lower_case_table_names=1 \
--skip-name-resolve=ON
配置文件
cat /opt/mysql8/conf/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
pid-file=/var/lib/mysql/mysqld.pid
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
port=3306
user=mysql
default-storage-engine=InnoDB
max_connections=20000
max_connect_errors=1000
innodb_buffer_pool_size=512M
innodb_log_file_size=256M
innodb_log_buffer_size=64M
innodb_file_per_table=1
innodb_flush_log_at_trx_commit=1
innodb_flush_method=O_DIRECT
server-id=1
log_bin=/var/lib/mysql/mysql-bin
binlog_format=ROW
binlog_row_image=FULL
expire_logs_days=2
sync_binlog=1
slow_query_log=ON
slow_query_log_file=/var/lib/mysql/slow.log
long_query_time=2
log_queries_not_using_indexes=ON
min_examined_row_limit=100
default_authentication_plugin=mysql_native_password
skip-name-resolve=ON
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[mysql]
default-character-set=utf8mb4
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
default-character-set=utf8mb4