文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Docker中安装MySQL 8

2023-08-31 16:26

关注

前言

上一期在Windows中安装好了Docker环境,这一期在Docker中完成MySQL 8安装和配置。

启动Docker Desktop后在cmd窗口中输入docker -v即可查看到安装的docker版本

Docker启动容器的原理流程

Docker启动一个容器(应用)时,大致原理流程如下图:根据流程图理解以下容器(应用)安装的步骤!

安装MySQL 8

1、拉取MySQL镜像

启动Docker Desktop后在cmd窗口中执行以下命令,即可从配置的镜像源处下载mysql 8.0.29版本的镜像,若不指定版本直接执行docker pull mysql命令则默认是拉取MySQL最新版本的镜像。

# 拉取镜像docker pull mysql:8.0.29


镜像拉取成功后执行docker images可以看到你拉取的所有镜像,Docker Desktop的images中也可以看到相应的镜像。


若不知道镜像的名称和有些版本的话,拉取镜像前可执行docker search mysql搜索查看,或者在docker hub官网搜索查看

2、创建启动容器

在cmd中执行以下命令,在docker中创建并启动一个MySQL容器,对物理机暴露的端口为3307,且将MySQL的配置文件、日志、数据文件挂载到你物理机的D盘中,指定root用户的密码为123456

docker run --restart=always --name mysql --privileged=true -d -p 3307:3306 -v D:\Docker\WorkSpace\MySQL\conf\my.cnf:/etc/mysql/my.cnf -v D:\Docker\WorkSpace\MySQL\logs:/logs -v D:\Docker\WorkSpace\MySQL\data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.29

参数解释:

--restart=always    -> 开机启动容器,容器异常自动重启--name              -> 指定容器名称-d                  -> 以守护进程的方式启动容器-p                  -> 映射宿主机端口-v                  -> 映射配置文件、日志、数据-e                  -> 写入配置root密码--privileged=true   -> 设置特权级运行的容器:使容器内的root拥有真正的root权限,否则container内的root只是外部的一个普通用户权限,很多操作会受限

容器启动成功后可通过docker ps命令查看已启动的容器,docker logs -f mysql可查看mysql容器启动日志

Docker DesktopContainers也能看到启动的容器

3、物理机连接Docker中的MySQL

如下,MySQL容器创建并启动后,(物理机)即可访问连接到docker中的MySQL

拓展my.cnf配置

MySQL的配置文件my.cnf极其重要,下方给出一个配置参考示例:

[client]default-character-set = utf8mb4[mysqld]pid-file        = /var/run/mysqld/mysqld.pidsocket          = /var/run/mysqld/mysqld.sockdatadir         = /var/lib/mysqlsecure-file-priv= NULL# Custom config should go here# 字符集character_set_server=utf8mb4collation-server=utf8mb4_unicode_ci# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB# 是否对sql语句大小写敏感,0:大小写敏感,1:忽略大小写区别。,只能在初始化服务器时配置。禁止在服务器初始化后更改# 设置为2时,表名和数据库名按声明存储,但以小写形式进行比较lower_case_table_names = 2# 最大连接数max_connections = 1000# Innodb缓存池大小innodb_buffer_pool_size = 4G# 表文件描述符的缓存大小table_open_cache_instances=1table_open_cache=2000table_definition_cache=2000!includedir /etc/mysql/conf.d/

后记

本来想一起写Oracle-12c的安装教程的,由于文章篇幅太长,Oracle-12c的内容多一些留到下一期再出了。若有问题可在公众号遇见0和1后台加群艾特我咨询!


来源地址:https://blog.csdn.net/weixin_42365530/article/details/128983272

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯