• docker-compose容器化构建mysql服务


    yml文件

    cat mysql.yml

    version: '3.1'
    
    services:
    
      mysql:
        image: mysql:5.7
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: root账户密码
          TZ: Asia/Shanghai
        volumes:
          - /data/mysql/mydata:/var/lib/mysql
          - /data/mysql/conf.d:/etc/mysql/conf.d
        ports:
          - "3306:3306"
    
    

    创建需要挂载的目录

    mkdir /data/mysql/mydata
    mkdir /data/mysql/conf.d
    

    mysql的配置,放在/data/mysql/conf.d/my.cnf

    cat my.cnf
    [client]
    port = 3306
    #socket   = /var/run/mysqld.sock
    default-character-set = utf8mb4
    
    [mysqld]
    port = 3306
    #socket  = /var/run/mysqld.sock
    back_log = 80
    basedir = /usr/local/mysql
    tmpdir = /tmp
    datadir = /var/lib/mysql
    character_set_server = utf8mb4
    log_timestamps = SYSTEM
    slow-query-log = on
    slow_query_log_file = /var/lib/mysql/slow.log
    
    #-------------------gobal variables------------#
    slave-parallel-type = LOGICAL_CLOCK
    slave-parallel-workers = 16
    slave_preserve_commit_order= on
    gtid_mode = ON
    relay_log_info_repository = TABLE
    master_info_repository    = TABLE
    relay_log_recovery        = on
    enforce_gtid_consistency = ON
    binlog_checksum = NONE
    log_slave_updates = ON
    log-bin = /var/lib/mysql/mysql-bin
    max_connect_errors = 20000
    max_connections = 2000
    wait_timeout = 3600
    interactive_timeout = 3600
    net_read_timeout = 3600
    net_write_timeout = 3600
    table_open_cache = 1024
    table_definition_cache = 1024
    thread_cache_size = 256
    query_cache_limit = 4M
    open_files_limit = 10000
    #collation_server = utf8mb4_unicode_ci
    skip_external_locking
    performance_schema = 1
    user = mysql
    myisam_recover_options = DEFAULT
    skip-name-resolve
    local_infile = 0
    lower_case_table_names = 1
    
    #--------------------innoDB------------#
    default-storage-engine = INNODB
    innodb_buffer_pool_size = 1024M
    innodb_data_file_path = ibdata1:200M:autoextend
    innodb_flush_log_at_trx_commit = 1
    innodb_io_capacity = 600
    innodb_lock_wait_timeout = 120
    innodb_log_buffer_size = 16M
    innodb_log_file_size = 256M
    innodb_log_files_in_group = 3
    innodb_max_dirty_pages_pct = 80
    innodb_read_io_threads = 4
    innodb_write_io_threads = 4
    innodb_support_xa = 1
    innodb_thread_concurrency = 32
    innodb_file_per_table
    innodb_rollback_on_timeout
    innodb_purge_threads = 2
    innodb_doublewrite = ON
    innodb_flush_method = O_DIRECT
    
    #------------session variables-------#
    join_buffer_size = 8M
    key_buffer_size = 256M
    bulk_insert_buffer_size = 8M
    max_heap_table_size = 96M
    tmp_table_size = 128M
    read_buffer_size = 16M
    sort_buffer_size = 16M
    max_allowed_packet = 64M
    read_rnd_buffer_size = 32M
    
    #------------MySQL Log----------------#
    log-bin = my3306-bin
    binlog_format = row
    sync_binlog = 1
    expire_logs_days = 15
    max_binlog_cache_size = 128M
    max_binlog_size = 500M
    binlog_cache_size = 64k
    log-slow-admin-statements
    log_warnings = 1
    long_query_time = 0.25
    
    #---------------replicate--------------#
    relay-log-index = relay3306.index
    relay-log = relay3306
    server-id = 1
    init_slave = 'set sql_mode=STRICT_TRANS_TABLES'
    log-slave-updates
    [myisamchk]
    key_buffer = 512M
    sort_buffer_size = 512M
    read_buffer = 8M
    write_buffer = 8M
    [mysql]
    prompt=MySQL [\u@\h :\d\r:\m:\s]>
    #default-character-set = utf8
    [mysqlhotcopy]
    interactive-timeout
    [mysqld_safe]
    open-files-limit = 8192
    
    

    启动mysql

    docker-compose -f mysql.yaml up -d
    
  • 相关阅读:
    文艺青年、普通青年、2b青年到底是什么意思?
    CMake快速入门教程:实战
    shell脚本中变量$$、$0等的含义
    工作上的C/C++相关
    C/C++的一些备忘
    shell基础二十篇 一些笔记
    C++中this指针的用法详解
    【C++11】新特性——auto的使用
    一个很不错的bash脚本编写教程
    容器
  • 原文地址:https://www.cnblogs.com/zoujiaojiao/p/14072238.html
Copyright © 2020-2023  润新知