全栈笔记

使用 Docker 搭建 mysql 数据库

2021-01-02  本文已影响0人  小贤笔记

准备

配置 Docker

更新 Docker 业务镜像及容器

version: '2'
services:
  mysql_compose:
    image: mysql:5.7
    container_name: mysql-5.7
    ports:
      - 26597:3306
    restart: unless-stopped
    volumes:
      - ./data:/usr/local/mysql
      - ./conf/mysql.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf
      - /etc/localtime:/etc/localtime
    environment:
      MYSQL_ROOT_PASSWORD: "123456"
[mysql]
default-character-set = utf8mb4
prompt = "\U [\d]> "
no-auto-rehash
socket = /tmp/mysql.sock
max_allowed_packet = 32M
[mysqld]
port = 3306
user = mysql
server-id = 100
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /tmp/mysql.sock
character_set_server = utf8mb4
collation-server = utf8mb4_unicode_ci
default_storage_engine = InnoDB
autocommit = 1
explicit_defaults_for_timestamp = 0
log_timestamps = system
max_allowed_packet = 32M
lower_case_table_names = 0
#sql_mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
open_files_limit = 65000
##connection##
back_log = 600
interactive_timeout = 28800
wait_timeout = 28800
lock_wait_timeout = 1800
skip_name_resolve = 1
max_connections = 1024
max_user_connections = 256
max_connect_errors = 1000000
##table cache performance settings##
table_open_cache = 4096
table_definition_cache = 4096
table_open_cache_instances = 64
##session memory settings##
read_buffer_size = 4M
read_rnd_buffer_size = 8M
sort_buffer_size = 16M
tmp_table_size = 16M
join_buffer_size = 32M
thread_cache_size = 64
##log settings##
log_error = error.log
log_error_verbosity = 2
sync_binlog = 1
log_bin = mysql-bin
binlog_format = ROW
binlog_rows_query_log_events = 1
max_binlog_size = 512M
expire_logs_days = 3
slow_query_log = 1
long_query_time = 1
slow_query_log_file = slow.log
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
log_slow_slave_statements = 1
# innodb settings #
transaction_isolation = REPEATABLE-READ
innodb_page_size = 16384
innodb_buffer_pool_size = 4G
innodb_buffer_pool_instances = 8
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_lru_scan_depth = 4096
innodb_lock_wait_timeout = 15
innodb_io_capacity = 2000
innodb_io_capacity_max = 4000
innodb_max_dirty_pages_pct = 80
innodb_flush_method = O_DIRECT
#innodb_undo_logs = 128
#innodb_undo_tablespaces = 3
#innodb_undo_log_truncate = 1
#innodb_max_undo_log_size = 2G
innodb_flush_neighbors = 0
innodb_log_file_size = 256M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M
lower_case_table_names=1
innodb_purge_threads = 2
innodb_large_prefix = 1
innodb_print_all_deadlocks = 1
innodb_strict_mode = 1
innodb_sort_buffer_size = 16M
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_file_per_table = 1
innodb_stats_persistent = 1
innodb_stats_persistent_sample_pages = 32
innodb_autoinc_lock_mode = 2
innodb_online_alter_log_max_size = 1G
innodb_open_files = 4096
innodb_flush_log_at_trx_commit = 2
innodb_buffer_pool_dump_pct = 40
innodb_page_cleaners = 16
innodb_purge_rseg_truncate_frequency = 128
# perforamnce_schema settings
performance-schema-instrument='memory/%=COUNTED'
performance_schema_digests_size = 40000
performance_schema_max_table_instances = 40000
performance_schema_max_sql_text_length = 4096
performance_schema_max_digest_length = 4096
[mysqldump]
single-transaction
socket = /tmp/mysql.sock
max_allowed_packet = 512M
default-character-set = utf8mb4

在安全组放开 26597 端口

修改密码

Docker 常用命令

上一篇 下一篇

猜你喜欢

热点阅读