docker 封装sql_docker封装mysql镜像

docker封装mysql镜像

发布时间:2020-03-13 12:18:07编辑:admin阅读(967)

一、概述

直接使用官方的镜像docker pull mysql:5.7

但是mysqld.cnf并没有优化,还是默认的。

二、封装镜像

创建目录# dockerfile目录

mkdir -p /opt/dockerfile/mysql

# 持久化目录

mkdir -p /data/mysql/data

/opt/dockerfile/mysql 目录结构如下:./

├── dockerfile

├── mysqld.cnf

└── run.sh

dockerfileFROM mysql:5.7

ADD mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf

mysqld.cnf[client]

port=3306

socket = /var/run/mysqld/mysqld.sock

[mysql]

no-auto-rehash

auto-rehash

default-character-set=utf8mb4

[mysqld]

###basic settings

server-id = 2

pid-file    = /var/run/mysqld/mysqld.pid

socket        = /var/run/mysqld/mysqld.sock

datadir        = /var/lib/mysql

#log-error    = /var/lib/mysql/error.log

# By default we only accept connections from localhost

#bind-address    = 127.0.0.1

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

character-set-server = utf8mb4

sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

default-storage-engine=INNODB

transaction_isolation = READ-COMMITTED

auto_increment_offset = 1

connect_timeout = 20

max_connections = 3500

wait_timeout=86400

interactive_timeout=86400

interactive_timeout = 7200

log_bin_trust_function_creators = 1

wait_timeout = 7200

sort_buffer_size = 32M

join_buffer_size = 128M

max_allowed_packet = 1024M

tmp_table_size = 2097152

explicit_defaults_for_timestamp = 1

read_buffer_size = 16M

read_rnd_buffer_size = 32M

query_cache_type = 1

query_cache_size = 2M

table_open_cache = 1500

table_definition_cache = 1000

thread_cache_size = 768

back_log = 3000

open_files_limit = 65536

skip-name-resolve

########log settings########

log-output=FILE

general_log = ON

general_log_file=/var/lib/mysql/general.log

slow_query_log = ON

slow_query_log_file=/var/lib/mysql/slowquery.log

long_query_time=10

#log-error=/var/lib/mysql/error.log

log_queries_not_using_indexes = OFF

log_throttle_queries_not_using_indexes = 0

#expire_logs_days = 120

min_examined_row_limit = 100

########innodb settings########

innodb_io_capacity = 4000

innodb_io_capacity_max = 8000

innodb_buffer_pool_size = 6144M

innodb_file_per_table = on

innodb_buffer_pool_instances = 20

innodb_buffer_pool_load_at_startup = 1

innodb_buffer_pool_dump_at_shutdown = 1

innodb_log_file_size = 300M

innodb_log_files_in_group = 2

innodb_log_buffer_size = 16M

innodb_undo_logs = 128

#innodb_undo_tablespaces = 3

#innodb_undo_log_truncate = 1

#innodb_max_undo_log_size = 2G

innodb_flush_method = O_DIRECT

innodb_flush_neighbors = 1

innodb_purge_threads = 4

innodb_large_prefix = 1

innodb_thread_concurrency = 64

innodb_print_all_deadlocks = 1

innodb_strict_mode = 1

innodb_sort_buffer_size = 64M

innodb_flush_log_at_trx_commit=1

innodb_autoextend_increment=64

innodb_concurrency_tickets=5000

innodb_old_blocks_time=1000

innodb_open_files=65536

innodb_stats_on_metadata=0

innodb_file_per_table=1

innodb_checksum_algorithm=0

#innodb_data_file_path=ibdata1:60M;ibdata2:60M;autoextend:max:1G

innodb_data_file_path = ibdata1:12M:autoextend

#innodb_temp_data_file_path = ibtmp1:500M:autoextend:max:20G

#innodb_buffer_pool_dump_pct = 40

#innodb_page_cleaners = 4

#innodb_purge_rseg_truncate_frequency = 128

binlog_gtid_simple_recovery=1

#log_timestamps=system

##############

delayed_insert_limit = 100

delayed_insert_timeout = 300

delayed_queue_size = 1000

delay_key_write = ON

disconnect_on_expired_password = ON

div_precision_increment = 4

end_markers_in_json = OFF

eq_range_index_dive_limit = 10

innodb_adaptive_flushing = ON

innodb_adaptive_hash_index = ON

innodb_adaptive_max_sleep_delay = 150000

#innodb_additional_mem_pool_size = 2097152

innodb_autoextend_increment = 64

innodb_autoinc_lock_mode = 1

run.sh#!/bin/bash

docker run -d --name mysqld_prod --restart=always -e MYSQL_ROOT_PASSWORD=123456  -p 3306:3306 -v /data/mysql/data:/var/lib/mysql mysqld_prod:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

生成镜像cd /opt/dockerfile/mysql

docker build -t mysqld_prod:5.7 .

启动镜像bash run.sh

三、测试连接

4e95068a192e75f40fe7b74a9a2635e5.png

连接测试

e37d33a6245ac7e3e66a4c3a03eecf35.png

关键字:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么看vray渲染进度_3dmax渲染怎么看渲染时间

回答:如果你用VRAY渲染器的话, 按下F10在渲染选项卷展栏里--渲染器--VRAY系统---帧标记勾选,后面的文字是very的版本信息时间等,你可以对这些文字进行修改,那个rune time,是渲染时间。【3DMAX 2009最终渲染输出设置参数…

mysql binlog 订阅_数据库binlog订阅和消费组件canal快速入门

一、什么是canal1.定位Canal是阿里巴巴开源的一款基于mysql数据库binlog增量日志分析提供数据订阅和消费功能的组件2.原理Canal模拟MySQL Slave协议,将自己伪装成MySQL Slave,将Master发送dump协议Master将binlog同步到Slave(这里是Canal)Canal解析binlo…

工具系列:TensorFlow决策森林_(8)组合决策森林和神经网络模型

文章目录 介绍安装 TensorFlow Decision Forests导入库数据集模型结构模型训练评估决策森林下一步是什么? 介绍 欢迎来到TensorFlow Decision Forests(TF-DF)的模型组合教程。本教程将向您展示如何使用通用的预处理层和Keras函数式API将多个…

python 调用不存在的方法 统一处理_提取不重复数据在Excel、SQL与Python中的处理方法...

村长今天跟大家简单分享一下如何在Excel、SQL和Python中用不同的方法提取不重复值(数据去重)。一、Excel1.1、函数法(数组公式)函数公式:IFERROR(INDEX(A:A,SMALL(IF(MATCH($A$2:$A$16,$A$2:$A$16,0)ROW($1:$15),ROW($2:$16),9^9),ROW(A1))),"")1.2、技巧…

yum安装mysql5.7 简书_阿里云服务器(centos7.3)上安装jdk、tomcat、mysql、redis

前言:平时我们敲的项目,只能在本地浏览,不论项目写得怎么样只有自己看得到,只有发布到了云服务器,别人才能访问得到。学习之路就是这样,当别人能访问自己的项目时,会更有成就感,所以接下来就一起…

python绘制四边螺旋线代_解决python彩色螺旋线绘制引发的问题

彩色螺旋线的绘制代码如下:import turtleimport timeturtle.pensize(2)turtle.bgcolor(black)colors [red, yellow, purple, blue]turtle.tracer(False)for x in range(400):turtle.forward(2*x)turtle.color(colors[x % 4])turtle.left(91)turtle.tracer(True)tim…

idea创建java项目目录结构_用IDEA创建一个简单的Maven的JavaWeb项目

1.项目环境IDEA:2016.2JDK:1.8.0_76Maven:3.2.52.File-->New-->Project-->Maven3.选择Project SDK:1.8,然后勾选下方的Create from archetype,选择maven archetype webapp,点击Next4.填…

jmeter java性能_jmeter java性能测试

本篇文章主要讲解jmeter如何测试java请求,以项目中某个接口为例,请求数据为post,返回也为post1:新建maven工程,pom文件为1 2 xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd…

ckeditor java 上传_java使用CKEditor实现图片上传功能

java如何使用ckeditor实现图片上传功能,具体内容如下1.根据实际需要下载指定的ckeditor2.删除文件ckeditor/plugins/image/dialogs/image.js预览框中文本内容,并修改hidden属性值为显示上传选项卡删除image.js中包含在双引号中的上述文本将image.js中的h…

java 程序流程控制知识点_JAVA基础知识点梳理三:流程控制语句

条件语句之 if语法:执行过程:例:int score 65;if (score > 60) {System.out.println("该学生及格");}//注:如果 if 条件成立时的执行语句只有一条,大括弧可以省略,但如果执行语句有多条&…

寂静岭3java攻略_《寂静岭3HD》通关心得:感人之佳作

作者:jet1942(原帖点击进入)寂静岭是什么?它是人的内心世界,它是人赎罪的地方。读了这句话后,是不是感觉意境非常深邃,还带有些恐怖感?是的,这就是寂静岭的魅力所在,作为一款AVG类游戏,他与生化危机不同&…

form表单图片预览 layui_layui 实现图片上传和预览

[学习笔记]图片不自动上传并在表单提交时再上传,看代码。附上表单页面前台实现autocomplete"off" class"layui-input" disabled>autocomplete"off" class"layui-input">上传图片确定layui.use([form, layer, upload]…

java不会框架怎么办_感觉学java无从下手了,各种框架乱七八糟,感觉好乱。该怎么办!?...

image各种各样的编程语言不断崛起,但唯有Java是牢牢占据着老大的位置,目前几乎90%以上的大中型互联网应用系统在服务器端开发首选Java。因此,也是吸引了不少年轻人投入到Java的学习之中。但不得不说,Java作为老牌编程语言&#xf…

java基数排序 数组_万字长文带你掌握Java数组与排序,代码实现原理都帮你搞明白!...

查找元素索引位置基本查找根据数组元素找出该元素第一次在数组中出现的索引public class TestArray1 {public static void main(String[] args) {//定义一个数组int[] arr{10,20,70,10,90,100,1,2};//根据元素查找出该元素在数组中第一次出现的索引int indexgetIndexByEle(arr,…

php是走什么协议,TCP是什么协议

TCP代表传输控制协议,是Internet协议套件中的基本协议,是一种网络通信协议;它规定如何建立和维护两个程序可以交换数据的连接,通过Internet发送信息的方式。TCP代表传输控制协议,是Internet协议套件中的基本协议&#…

php yii 命令行,命令行模式(Command)

命令行模式(Command)3.2.1. 目的为了封装调用和解耦。我们有一个调用程序和一个接收器。 这种模式使用「命令行」将方法调用委托给接收器并且呈现相同的「执行」方法。 因此,调用程序只知道调用「执行」去处理客户端的命令。接收器会从调用程序中分离出来。这个模式…

php 获取 js json数据类型,JS基础-JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换...

JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换1. JS的数据类型和访问1.1. 原始类型JS中的原始数据类型有: number , string , boolean ;声明变量使用 var 关键字./* 数字类型 */varyear2020;/* 字符串类型 */varnamezhangsan;/* 布尔类型 */varisUpdatefalse;获…

python 数据挖掘论文,Orange:一个基于 Python 的数据挖掘和机器学习平台

Orange 简介Orange 是一个开源的数据挖掘和机器学习软件。Orange 基于 Python 和 C/C 开发,提供了一系列的数据探索、可视化、预处理以及建模组件。Orange 拥有漂亮直观的交互式用户界面,非常适合新手进行探索性数据分析和可视化展示;同时高级…

php量表是什么心理量表,心理学中的“5大心理学测评量表”你知道多少?

原标题:心理学中的“5大心理学测评量表”你知道多少?心理学知识中涵盖了类型丰富的心理学测评量表,你知道其中的多少呢?1、《应对方式问卷》《应对方式问卷》由肖计划等人参照国内外应对研究的问卷内容以及有关应对理论&#xff0…

php对象魔术方法,php学习之类与对象的魔术方法的使用

原标题:php学习之类与对象的魔术方法的使用魔术方法有哪些__construct:构造方法__destuct:析构方法__call:在对象中调用一个不可访问的方法时。__call()会被调用__callStatic:__get:调用不可访问的属性__se…