首页 > 数据库 >Docker安装MySQL详解(mysql5.7)

Docker安装MySQL详解(mysql5.7)

时间:2024-08-25 21:21:38浏览次数:17  
标签:log buffer mysql5.7 MySQL innodb mysql Docker docker size

一、准备工作

1.打开目录

cd /usr/local/docker/

2.创建文件夹

mkdir mysql

3.打开文件夹

cd mysql/

二、创建挂载目录

1.创建数据挂载目录

mkdir data

2.创建配置文件目录

mkdir config

3.打开config

cd config/

4.编写配置文件

vim my.cnf

粘贴配置

[client]
# 端口号
port=3306

[mysql]
no-beep
default-character-set=utf8mb4

[mysqld]
# 端口号
port=3306
# 数据目录
datadir=/var/lib/mysql
# 新模式或表时将使用的默认字符集
character-set-server=utf8mb4
# 默认存储引擎
default-storage-engine=INNODB
# 将 SQL 模式设置为严格
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
#  最大连接数
max_connections=1024
# 表缓存
table_open_cache=2000
# 表内存
tmp_table_size=16M
# 线程缓存
thread_cache_size=10
# 设置大小写不敏感
lower_case_table_names=1

# myisam设置
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=8M
key_buffer_size=8M
read_buffer_size=0
read_rnd_buffer_size=0

# innodb设置
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=8M
innodb_log_file_size=48M
innodb_thread_concurrency=33
innodb_autoextend_increment=64
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0

# 其他设置
back_log=80
flush_time=0
join_buffer_size=256K
max_allowed_packet=4M
max_connect_errors=100
open_files_limit=4161
sort_buffer_size=256K
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000

5.下载镜像

docker pull mysql:5.7

检查镜像 docker images

三、编写脚本

1.打开目录

cd /usr/local/docker/mysql/

2.编写脚本

vim startMysql.sh

脚本内容

docker run -d \
--privileged=true \
--name mysql57 \
-p 3306:3306 \
--restart=always \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-v /usr/local/docker/mysql/config/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=root mysql:5.7 \

3.权限赋予

chmod -R 777 startMysql.sh

4.启动脚本

./startMysql.sh

5.查看

docker ps docker ps -a

四、测试MySQL是否能连接成功

1.Navicat新建MySQL连接

2.填写连接信息

3.测试连接

4.结果

本人第二次发布,如果哪里不好,请多多提意见,如果看到肯定会及时更改

标签:log,buffer,mysql5.7,MySQL,innodb,mysql,Docker,docker,size
From: https://blog.csdn.net/cmh1008611/article/details/141535096

相关文章

  • 软件设计之MySQL(7)
    软件设计之MySQL(7)此篇应在JavaSE之后进行学习:路线图推荐:【Java学习路线-极速版】【Java架构师技术图谱】Navicat可以在软件管家下载``使用navicat连接mysql数据库创建数据库、表、转储sql文件,导入sql数据MySQL数据库入门到大牛,mysql安装到优化,百科全书级,全网天花......
  • zblog网站提示MySQL数据库无法连接
    前天搭建好的博客网站,在睡了一觉之后,网站竟然出现故障无法正常运行了,在此期间,没有进行任何的操作。就连主页都无法进入,页面一直提示“MySQL数据库无法连接”。不管怎样刷新页面,还是重启服务器,都毫无作用。最终,从中午1点一直忙活到凌晨2点,还好皇天不负有心人,总算把问题解决了......
  • sql server导入mysql,使用python多线程
    概述在上一篇文章中,链接:https://www.cnblogs.com/xiao987334176/p/18377915使用工具SQLyog进行导入,传输过程是单进程的,一个表一个表的传,一条条数据插入,所以传输速度会比较慢。如果sqlservermdf文件在200m左右,传输需要花费30分钟左右。如果来了一个10GB左右的mdf的文件,需要25......
  • 面试官问什么?Python基础与进阶?介绍Django框架?MySQL数据库索引?
    Catalog自我介绍Python001.Python支持哪些数据类型?01.数字类型02.序列类型03.映射类型04.集合类型05.其他类型06.特点总结002.什么是模块(module),如何导入一个模块?01.导入模块02.`import`和`from...import...`的区别003.高频发问题004.数据去重005.Python中......
  • Kubernetes 与 dockershim
    dockershim是什么?https://v1-27.docs.kubernetes.io/zh-cn/blog/2022/05/03/dockershim-historical-context/在Kubernetes的早期,只支持一个ContainerruntimesDockerEngine,当时并没有太多其他选择,而Docker是使用容器的主要工具,所以这不是一个有争议的选择。之后kuberne......
  • linux下试验中间件canal的example示例-binlog日志的实时获取显示以及阿里巴巴中间件ca
    一、linux下试验中间件canal的example示例-binlog日志的实时获取显示    今天重装mysql后,进行了canal的再次试验,原来用的mysql5.7,今天重装直接换了5.6算了。反正测试服务器的mysql也不常用。canal启动后日志显示examplepreparetofindstartpositionjustshowmaste......
  • MySQL数据库的带参数的存储过程
    在MySQL数据库中,带参数的存储过程是一种接受输入参数的存储过程。通过使用参数,您可以在存储过程内部访问和处理外部传递的数据。创建带参数的存储过程:使用CREATEPROCEDURE语句可以创建带参数的存储过程。参数可以是输入参数(IN)、输出参数(OUT)或输入输出参数(INOUT)。参数可以指......
  • lima 轻量级虚拟机docker替代方案 (macos平台)
    引言由于某些原因,我的mac电脑的docker出了问题,无法使用docker,想到有没有类似windos上的终端虚拟机,可以直接使用命令行,经过一凡寻找,终于找到了一个替代方案我来为大家介绍一款免费、自由、开源的DockerforMac替代品,containerd&Lima。你只需要执行以下命令即可快速体验......
  • MySQL里面的子查询
    一、子查询定义定义:子查询允许把一个查询嵌套在另一个查询当中。子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询。子查询可以包含普通select可以包括的任何子句,比如:distinct、groupby、orderby、limit、join和union等;但是对应的外部查询必......
  • mysql having的用法
    having的用法having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在groupby和having字句前。而having子句在聚合后对组记录进行筛选。我的理解就是真实表中没有此数据,这些数据是通过一些函数生存。SQL实例:一、显示每个地区的总人口数和总面积......