【挑战30天首通《谷粒商城》】-【第一天】10、环境-docker安装mysql

文章目录

  • 课程介绍
  • 一、docker 安装 mysql
      • Stage 1:下载镜像文件
        • Stage 1-1:打开官网查看镜像
        • Stage 1-2:拉取镜像
        • Stage 1-3:查看拉取的镜像
      • Stage 2:创建实例并启动
        • A:mysql(5.7版)
          • 参数说明
        • B:mysql(8.0以上版)
          • 参数说明
      • Stage 3:修改配置文件
        • A:my.cnf(5.7版)
          • 注意:解决 MySQL 连接慢的问题(解释:跳过域名解析)
        • B:my.cnf(8.0 + 版)
      • Stage 4:重启mysql,使配置生效
  • 二、 docker-compose 安装 mysql (推荐)
      • Stage 1:创建 docker-compose.yaml 文件
        • docker-compose-8.0.30.yaml
        • docker-compose-8.4.0.yaml
      • Stage 2:创建配置文件
      • Stage 3:创建容器
      • Stage 4:VirtualBox端口映射
      • Stage 5:navcat 测试连接
  • 三、 日常问题
    • 3.1 mysql 修改密码
  • 四、 附录
    • my.cnf 配置文件【8.0以上版本】
  • one more thing
    • 废话不多说上教程:(动画教程 + 图文教程)
    • 一、动画教程
      • 激活 与 升级(至最新版本)
    • 二、图文教程

课程介绍

  • docker 安装 mysql
  • docker-compose 安装 mysql (推荐)

一、docker 安装 mysql

Stage 1:下载镜像文件

Stage 1-1:打开官网查看镜像
  • 点击进入官网
    在这里插入图片描述

  • 吐槽:这里 mysql 官网镜像最新也只有5.7 ,没有 8.0以上版本,然而 8.0 比5.7快一倍

  • 小技巧一:使用 docker search mysql:8 查找镜像,这里镜像名为:lkhoho/mysql

  • 小技巧二:尝试拉取官网最新长期维护的稳定版: docker pull mysql:8.4.0【推荐】

在这里插入图片描述

Stage 1-2:拉取镜像

官方下载文档
官方指南

  • 目前最新的长期维护版 - mysql:8.4.0

在这里插入图片描述

# 方式一:拉取官网这里指的是官网最新的镜像,5.7 同指令 docker pull mysql:latest
docker pull mysql
# 方式二:拉取查找镜像,mysql:8.0
docker pull lkhoho/mysql 
# 方式三:官网找到最新的长期维护版 - mysql:8.4.0(极力推荐)
docker pull mysql:8.4.0

在这里插入图片描述

Stage 1-3:查看拉取的镜像
  • docker images
    在这里插入图片描述

Stage 2:创建实例并启动

A:mysql(5.7版)
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql5.7/log:/var/log/mysql \
-v /mydata/mysql5.7/data:/var/lib/mysql \
-v /mydata/mysql5.7/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
参数说明
  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
  • --name mysql:容器名 mysql
  • -v /mydata/mysql5.7/conf:/etc/mysql:将配置文件夹挂载到主机
  • -v /mydata/mysql5.7/log:/var/log/mysql:将日志文件夹挂载到主机
  • -v /mydata/mysql5.7/data:/var/lib/mysql/:将数据文件夹挂载到主机
  • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码为123456
  • -d mysql:5.7:使用mysql:5.7 镜像创建容器
B:mysql(8.0以上版)
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql8.0/data:/var/lib/mysql \
-v /mydata/mysql8.0/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=12345678 \
-d mysql:8.4.0
参数说明
  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
  • --name mysql:容器名 mysql
  • -v /mydata/mysql8.0/conf:/etc/mysql/conf.d:将配置文件夹挂载到主机
  • -v /mydata/mysql8.0/data:/var/lib/mysql/:将数据文件夹挂载到主机
  • -e MYSQL_ROOT_PASSWORD=12345678 :初始化 root 用户的密码为12345678
  • -d mysql:8.4.0:使用mysql:8.4.0镜像创建容器

Stage 3:修改配置文件

A:my.cnf(5.7版)
  • 进入目录 /mydata/mysql5.7/conf/
  • 新建 my.cnf,修改文件权限

在这里插入图片描述

  • 添加如下内容
[client]
default-character-set=utf8[mysql]
default-character-set=utf8[mysqld]
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
注意:解决 MySQL 连接慢的问题(解释:跳过域名解析)

在配置文件中加入如下,并重启 mysql

[mysqld]
skip-name-resolve
B:my.cnf(8.0 + 版)
  • 进入目录 /mydata/mysql8.0/conf/
  • 新建 my.cnf,修改文件权限

在这里插入图片描述

  • 添加如下内容
[mysqld]
## 同一局域网内注意要唯一
#server-id=100  
## 开启二进制日志功能,可以随便取(关键)
#log-bin=mysql-bin
max_connections=500

Stage 4:重启mysql,使配置生效

docker restart mysql

二、 docker-compose 安装 mysql (推荐)

Stage 1:创建 docker-compose.yaml 文件

  • 这里测试两个版本,为了区分所以使用名为
docker-compose-8.0.30.yaml
version: '3.1'services:       mysql:image: mysql:8.0.30container_name: mysqlports:- 3306:3306restart: alwaysprivileged: trueenvironment:TZ: Asia/ShanghaiMYSQL_ROOT_PASSWORD: rootcommand:--character-set-server=utf8mb4--collation-server=utf8mb4_general_ci--default-authentication-plugin=mysql_native_passwordvolumes: - ./8.0.30/conf:/etc/mysql/conf.d- ./8.0.30/data:/var/lib/mysqldeploy:resources:limits:memory: 2Greservations:memory: 1G
networks:default:external:name: xph_network
docker-compose-8.4.0.yaml
version: '3.1'services:       mysql:image: mysql:8.4.0container_name: mysqlports:- 3306:3306restart: alwaysprivileged: trueenvironment:TZ: Asia/ShanghaiMYSQL_ROOT_PASSWORD: rootcommand:--character-set-server=utf8mb4--collation-server=utf8mb4_general_civolumes: - ./8.4.0/conf:/etc/mysql/conf.d- ./8.4.0/data:/var/lib/mysqldeploy:resources:limits:memory: 2Greservations:memory: 1G
networks:default:external:name: xph_network

Stage 2:创建配置文件

  • docker-compose-8.4.0.yaml 放在 /mnt/docker/mysql/

  • /mnt/docker/mysql/8.4.0/conf下创建文件如下 新建 my.cnf,修改文件权限
    在这里插入图片描述

  • 添加如下内容

[mysqld]
## 同一局域网内注意要唯一
#server-id=100  
## 开启二进制日志功能,可以随便取(关键)
#log-bin=mysql-bin
max_connections=500

Stage 3:创建容器

 docker-compose -f docker-compose-8.4.0.yaml up -d --build

Stage 4:VirtualBox端口映射

  • 这里很奇怪,第7章节 说不用映射
  • 后面如果知道原因再补充笔记
  • 在这里插入图片描述

Stage 5:navcat 测试连接

在这里插入图片描述

三、 日常问题

3.1 mysql 修改密码

  • 这里修改了root的本地登录和远程登录密码
ALTER USER 'root'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'new_password';

四、 附录

my.cnf 配置文件【8.0以上版本】

# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it's important that the mysqld daemon
# doesn't use much resources.
#
# MySQL programs look for option files in a set of
# locations which depend on the deployment platform.
# You can copy this option file to one of those
# locations. For information about these locations, see:
# http://dev.mysql.com/doc/mysql/en/option-files.html
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.
# The following options will be passed to all MySQL clients
[client]
default-character-set=utf8
#password = your_password
port        = 3336
socket      = /tmp/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
port        = 13306        # 我修改了默认端口
socket      = /tmp/mysql.sock
lower_case_table_names = 1    # 是否对sql语句大小写敏感,1表示不敏感,即不区分大小写
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 256K   # 该字段根据需要修改,默认是128K,我的是因为启动报了这个字段的错导致启动失败,所以我改成256K了# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
server-id   = 1
# Uncomment the following if you want to log updates
#log-bin=mysql-bin
# binary logging format - mixed recommended
#binlog_format=mixed
# Causes updates to non-transactional engines using statement format to be
# written directly to binary log. Before using this option make sure that
# there are no dependencies between transactional and non-transactional
# tables such as in the statement INSERT INTO t_myisam SELECT * FROM
# t_innodb; otherwise, slaves may diverge from the master.
#binlog_direct_non_transactional_updates=TRUE
# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /usr/local/mysql/data
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /usr/local/mysql/data
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
interactive-timeout

one more thing

程序员的烦恼

  • 为激活编程软件到处找激活码(JetBrains 全家通)
  • 苦于JetBrains 正版授权太贵而放弃
  • 学习资料贵且不成体系而躺平

关注公众号金榜探云手

你可以获得什么?

  1. JetBrains 最新激活码,永久更新(只供娱乐,切勿商用)
    公众号回复:00cs
  2. JetBrains 正版授权,全主题、全插件免费使用,一年一杯咖啡钱, 公众号回复:vip
  3. IT 技术视频共享(国内外全系列,只对粉丝开放)

付费版Idea百科全书,和Pycharm使用百科全书全部输出整理了,这些工具都掌握了对编码效率肯定是有本质上的提升,配合Github Copilot基本能让工具完成大部分开发工作,专注完成业务实现就好。

IDEA付费版使用百科全书
https://ziby0nwxdov.feishu.cn/docx/MiCfdogB4omIa9xlW50cByiGn5n

Pycharm付费版使用百科全书 https://ziby0nwxdov.feishu.cn/docx/DArFdVFQpomfUvxV7xZcCwXYn0c

废话不多说上教程:(动画教程 + 图文教程)

一、动画教程

激活 与 升级(至最新版本)

  • 激活
    请添加图片描述
  • 升级最新版本

请添加图片描述

二、图文教程

  • [点击进入](https://blog.csdn.net/ladymorgana/article/details/138522749?spm=1001.2014.3001.5

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

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

相关文章

yolov8添加FPPI评价指标

这里写自定义目录标题 yolov8 中FPPI实现测试中调用 效果结语 续yolov7添加FPPI评价指标 。之前在yolov7中增加了fppi指标&#xff0c;有不少网友问有没有yolov8中增加&#xff0c;最近没有做算法训练&#xff0c;也一直没时间弄。这几天晚上抽了点时间&#xff0c;弄了一下。不…

学习中...【京东价格/评论数据】数据获取方式——采用Selenium★

近期闲来无事学学selenium爬虫技术&#xff0c;参考崔庆才《Python3网络爬虫开发实战》的淘宝商品信息爬取&#xff0c;我也照猫画虎的学了京东的价格和商品评论数据。废话不多说&#xff0c;直接开始吧&#xff01; 1. 浏览器初始化 from selenium import webdriver from se…

红黑树的平衡

1.红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或 Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制&#xff0c;红黑树确保没有一条路 径会比其他路径长出俩倍&#xff0c…

合合信息:TextIn文档解析技术与高精度文本向量化模型再加速

文章目录 前言现有大模型文档解析问题表格无法解析无法按照阅读顺序解析文档编码错误 诉求文档解析技术技术难点技术架构关键技术回根溯源 文本向量化模型结语 前言 随着人工智能技术的持续演进&#xff0c;大语言模型在我们日常生活中正逐渐占据举足轻重的地位。大模型语言通…

Scala基础

目录 1.安装与运行Scala 任务描述 了解Scala语言 了解Scala特性 安装Scala 运行Scala 2.定义函数识别号码类型 了解数据类型 定义与使用常量、变量 使用运算符 定义与使用数组 任务实现 3.基本语法 1 变量 2 字符串 3 数据类型&操作符 4 条件表达式 5 循环…

idea使用gitee基本操作流程

1.首先&#xff0c;每次要写代码前&#xff0c;先切换到自己负责的分支 点击签出。 然后拉取一次远程master分支&#xff0c;保证得到的是最新的代码。 写完代码后&#xff0c;在左侧栏有提交按钮。 点击后&#xff0c;选择更新的文件&#xff0c;输入描述内容&#xff08;必填…

五分钟“手撕”时间复杂度与空间复杂度

目录 一、算法效率 什么是算法 如何衡量一个算法的好坏 算法效率 二、时间复杂度 时间复杂度的概念 大O的渐进表示法 推导大O阶方法 常见时间复杂度计算举例 三、空间复杂度 常见时间复杂度计算举例 一、算法效率 什么是算法 算法(Algorithm)&#xff1a;就是定…

C++|多态性与虚函数(2)|虚析构函数|重载函数|纯虚函数|抽象类

前言 看这篇之前&#xff0c;可以先看多态性与虚函数&#xff08;1&#xff09;⬇️ C|多态性与虚函数&#xff08;1&#xff09;功能绑定|向上转换类型|虚函数-CSDN博客https://blog.csdn.net/weixin_74197067/article/details/138861418?spm1001.2014.3001.5501这篇文章会…

【十大排序算法】----C语言版插入排序(详细图解)

目录 一&#xff1a;插入排序——原理 二&#xff1a;插入排序——分析 三&#xff1a;插入排序——实现 四&#xff1a;插入排序——效率 一&#xff1a;插入排序——原理 插入排序的原理和基本思想&#xff1a;把待排序的记录按其关键码值的大小逐个插入到一个已经排好序…

Django使用

一、根目录下安装 pip install django 二、创建djiango项目 django-admin startproject 项目名称 三、创建app python manage.py startapp app名称 四、启动 python manage.py runserver 五、编写URL与视图关系&#xff0c;相对路径 1、manage.py&#xff08;见资源绑定…

多元化、高辨识显示丨基于G32A1445的汽车尾灯解决方案

由刹车灯、倒车灯、转向灯、雾灯等组成的汽车尾灯&#xff0c;既能在光线低暗时发出照明信息&#xff0c;也可向周围环境传递车辆的行驶状态与意图信号&#xff0c;对于行车安全起着至关重要的作用。与传统尾灯相比&#xff0c;贯穿式汽车尾灯更加醒目、美观、安全&#xff0c;…

CSS2(一):CSS选择器

文章目录 1、CSS基础1.1 CSS简介1.2 CSS编写位置1.2.1 行内样式1.2.2 内部样式1.2.3 外部样式1.2.4 样式优先级 1.2.5 CSS代码风格 2、CSS选择器2.1、基本选择器2.1.1 通配选择器2.1.2 元素选择器2.1.3 类选择器2.1.4 ID选择器2.1.5 总结 2.2、CSS复合选择器2.2.1 交集选择器2.…

海外媒体宣发:新加坡.马来西亚如何在海外媒体投放新闻通稿-大舍传媒

导言 随着全球化的进程加速&#xff0c;海外市场对于企业的发展越来越重要。而在海外媒体上宣传企业的新闻通稿&#xff0c;成为了拓展海外市场和提升企业知名度的重要手段之一。本文将介绍大舍传媒对于如何在海外媒体上投放新闻通稿的经验和策略。 准备工作&#xff1a;了解…

Hive 特殊的数据类型 Array、Map、Struct

Array 数组类型&#xff0c;存储数据类型一致的列表数据。 我们可以使用 array 方法来创建一个数组&#xff0c;如下所示&#xff1a; select array(1,2,3,4,5);如果其中的数据类型不一致&#xff0c;那么它会转换成统一的数据类型&#xff08;前提是能够进行转换&#xff0…

力扣HOT100 - 322. 零钱兑换

解题思路&#xff1a; 动态规划 class Solution {public int coinChange(int[] coins, int amount) {int[] dp new int[amount 1];Arrays.fill(dp, amount 1);dp[0] 0;for (int i 1; i < amount; i) {for (int j 0; j < coins.length; j) {if (coins[j] < i) …

宠物管理系统带万字文档

文章目录 宠物管理系统一、项目演示二、项目介绍三、19000字论文参考四、部分功能截图五、部分代码展示六、底部获取项目源码和万字论文参考&#xff08;9.9&#xffe5;带走&#xff09; 宠物管理系统 一、项目演示 宠物管理系统 二、项目介绍 基于springbootvue的前后端分离…

新串口通道打通纪实

在计算机系统中&#xff0c;串口是“古老”的通信方式&#xff0c;和它同时代的“并口”通信方式已经消失了。但它仍然顽强的存活着&#xff0c;主要原因是在开发和调试底层软件时还经常用到串口。 正因为有这样的需求&#xff0c;幽兰代码本是支持串口的&#xff0c;而且有两种…

【现代C++】概念的使用

现代C&#xff08;特别是C20及以后的版本&#xff09;引入了概念&#xff08;Concepts&#xff09;&#xff0c;这是一种指定模板参数必须满足的约束的方式。概念使得模板代码更清晰&#xff0c;更容易理解和使用&#xff0c;并且能在编译时提供更好的错误信息。以下是C概念的关…

UStaticMesh几何数据相关(UE5.2)

UStaticMesh相关类图 UStaticMesh的数据构成 UStaticMesh的FStaticMeshSourceModel UStaticMesh的Mesh几何元数据来自于FStaticMeshSourceModel&#xff0c; 一级Lod就存在一个FStaticMeshSourceModel. FStaticMeshSourceModel几何数据大致包含以下几类: Vertex(点), VertexI…