菜单
本页目录

docker-compose.yml

version: "3"
  mysql:
    image: mysql:5.7.26
    container_name: mysql
    restart: always
    command: "mysqld --skip-name-resolve" 
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_ROOT_PASSWORD=junpzx@2023
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./workspace/database/mysql/data:/var/lib/mysql/data
      - ./workspace/database/mysql/my.cnf:/etc/mysql/my.cnf
      - ./workspace/database/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql
      - ./workspace/database/mysql/sql:/opt/sql
    ports:
      - "3306:3306"

my.conf

[client]
port = 3306
socket = /var/lib/mysql/data/mysql.sock
[mysqld]
 # 针对5.7版本执行group by字句出错问题解决
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
 # 一般配置选项
basedir = /var/lib/mysql
datadir = /var/lib/mysql/data
port = 3306
socket = /var/lib/mysql/data/mysql.sock
lc-messages-dir = /usr/share/mysql # 务必配置此项,否则执行sql出错时,只能显示错误代码而不显示具体错误消息
character-set-server=utf8mb4
back_log = 300
max_connections = 3000
max_connect_errors = 50
table_open_cache = 4096
max_allowed_packet = 32M
#binlog_cache_size = 4M
max_heap_table_size = 128M
read_rnd_buffer_size = 16M
sort_buffer_size = 16M
join_buffer_size = 16M
thread_cache_size = 16
query_cache_size = 64M
query_cache_limit = 4M
ft_min_word_len = 8
thread_stack = 512K
#tx_isolation = READ-COMMITTED
tmp_table_size = 64M
#log-bin=mysql-bin
long_query_time = 6
server_id=1
innodb_buffer_pool_size = 1024M
innodb_thread_concurrency = 16
innodb_log_buffer_size = 16M
wait_timeout= 31536000
interactive_timeout= 31536000
lower_case_table_names = 1

init.sql

create database `junpzx-database-test` default character set utf8mb4 collate utf8mb4_general_ci;
use `junpzx-database-test`;
source /opt/sqljunpzx-database-test.sql;

create database `junpzx-database-test2` default character set utf8mb4 collate utf8mb4_general_ci;
use `junpzx-database-test2`;
source /opt/sql/junpzx-database-test2.sql;