mysql8.0 docker部署

运行命令

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
posted @ 2026-09-04 16:13  Gshelldon  阅读(5)  评论(0)    收藏  举报