⛳ Docker 安装 MySQL

news2024/5/18 13:39:12

🎍目录

  • ⛳ Docker 安装 MySQL
    • 🚜 一、搜索 `mysql` , 查看版本
    • 🎨 二、拉取`mysql`镜像
    • 👣 三、建立容器的挂载文件
    • 🧰 四、创建`mysql`配置文件,`my.conf`
    • 🏭 五、根据镜像产生容器
    • 🎁 六、远程连接
    • ⭐ 七、`mysql8.0`远程连接不上问题
      • 🔮 7.1、Navicat 测试连接
      • 🏓 7.2、如果出现错误,我们需要授予远程登录权限
      • 🏀 7.3、如果接着出现以下错误
      • ✨ 7.4、再次测试

⛳ Docker 安装 MySQL

image-20230821193128491

🚜 一、搜索 mysql , 查看版本

docker search mysql

image-20230822094634454

🎨 二、拉取mysql镜像

  • docker pull mysql:8.0
  • docker images

image-20230822094703415

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ZqrX1Ie-1692703936336)(https://gitee.com/galloping_pony/img-home/raw/master/image-20230822184632848.png)]

👣 三、建立容器的挂载文件

  • mkdir -p /mydata/mysql/conf
  • mkdir -p /mydata/mysql/data
  • mkdir -p /mydata/mysql/logs

image-20230822094606188

🧰 四、创建mysql配置文件,my.conf

touch /mydata/mysql/conf/my.cnf

my.cnf中添加如下配置:

#my.cnf添加自己的配置
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password 

🏭 五、根据镜像产生容器

docker run \
--restart=always \
--privileged=true \
-p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /mydata/mysql/conf/conf.d:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=1234 \
-d mysql:8.0

image-20230822190254172

参数说明:

  • --restart=always : 开机启动,这里不做设置;
  • --privileged=true : 提升容器内权限,使容器内的root真正拥有root权限,否则容器内root只是外部普通用户权限;
  • -p : 将主机的 3306 端口映射到容器中的 3306 端口(主机端口 :容器端口);
  • --name : 指定容器名;
  • -v : /mydata/mysql/conf/my.cnf:/etc/mysql/my.cnf 把主机当前文件my.cnf挂在到容器中的/etc/mysql/my.cnf文件,改mysql的配置只需要改动本机的my.cnf即可,其它同理;
  • -e : 设置环境,MYSQL_ROOT_PASSWORD=1234 初始化root密码为 1234。
  • -d : 后台运行的镜像,mysql:tag ,并返回容器的 ID 或 名称;

​ 在容器内默认不支持vim,如果要在docker容器内使用vim,哪个容器要用就需要各自安装vim(yum install vim)。所以对于所有涉及到数据和配置的,都不应该放在容器内部。应该用-v来挂载外部数据目录。

🎁 六、远程连接

使用Navicat客户端工具测试,连接成功:

image-20230822191643949

至此,Docker安装MySQL完成。

⭐ 七、mysql8.0远程连接不上问题

🔮 7.1、Navicat 测试连接

image-20230822191904852

🏓 7.2、如果出现错误,我们需要授予远程登录权限

  1. bash 进入容器:docker exec -it mysql bash

    1. image-20230821202502638

    2. 登录:mysql -uroot -p

    3. 找到mysql库中的user表:use myql;``select user,host from user;

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RTwdZ30Z-1692703936339)(https://gitee.com/galloping_pony/img-home/raw/master/image-20230821202528616.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UXGGGaqZ-1692703936340)(https://gitee.com/galloping_pony/img-home/raw/master/image-20230822095350835.png)]

    4. 授予权限:grant all privileges on *.* to 'root'@'%';%表示host不受限制,如果是本机使用localhost`

      • 网上很多是GRANT ALL PRIVILEGES ON *.* 'root'@'%' identified by '密码' WITH GRANT OPTION;
        有可能报错。
    5. 刷新权限:flush privileges;

    6. 重新测试

🏀 7.3、如果接着出现以下错误

image-20230822192640559

  1. 原因是mysql 8以上默认使用的是caching_sha2_password身份验证机制,之前用的是mysql_native_password。

  2. 从5.7升级到8.0不会改变现有用户的身份验证方式,但新用户会默认使用新的cacthing_sha2_password

  3. 解决方式:

    修改用户的密码加密方式:

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
    

✨ 7.4、再次测试

image-20230822191643949

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

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

相关文章

【Windows 常用工具系列 10 -- linux ssh登录脚本输入密码】

文章目录 脚本输入SSH登录密码scp 脚本免密传输 脚本输入SSH登录密码 sshpass 是一个用于运行时非交互式ssh密码提供的工具,它允许你直接在命令行中为ssh命令提供密码。这就意味着你可以在脚本中使用ssh命令,而不需要用户交互地输入密码。 一般来说&am…

wireshark数据包分析

一、实验目的: 掌握wireshark进行基本的协议分析,掌握TCP的三次握手的过程 二、预备知识: TCP/IP协议的三次握手的设计 三、实验过程: 1.关于wireshark这个软件的基本认识: 首先,每次capure的时候&#…

Python Opencv实践 - 直方图显示

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR) print(img.shape)#图像直方图计算 #cv.calcHist(images, channels, mask, histSize, ranges, hist, accumulate) #images&…

大语言模型微调实践——LoRA 微调细节

1. 引言 近年来人工智能领域不断进步,大语言模型的崛起引领了自然语言处理的革命。这些参数量巨大的预训练模型,凭借其在大规模数据上学习到的丰富语言表示,为我们带来了前所未有的文本理解和生成能力。然而,要使这些通用模型在特…

[保研/考研机试] KY196 复数集合 北京邮电大学复试上机题 C++实现

题目链接: 复数集合_牛客题霸_牛客网 一个复数(xiy)集合,两种操作作用在该集合上: 1、Pop 表示读出集。题目来自【牛客题霸】https://www.nowcoder.com/share/jump/437195121692724009060 描述 一个复数(…

腾讯云V265/TXAV1直播场景下的编码优化和应用

// 编者按:随着视频直播不断向着超高清、低延时、高码率的方向发展, Apple Vision的出现又进一步拓展了对3D, 8K 120FPS的视频编码需求,视频的编码优化也变得越来越具有挑战性。LiveVideoStackCon 2023上海站邀请到腾讯云的姜骜杰老师分享腾…

LAMP 架构及Discuz论坛与Wordpress博客搭建

目录 1 LAMP 配置与应用 1.1动态资源与语言 1.2 LAMP 架构的组成 1.2.1 主要功能 2 编译安装Apache http 服务 2.1 环境准备 2.1.1 关闭防火墙及selinux服务 2.1.2 安装依赖环境 2.2 安装软件包 2.2.1 解压软件包 2.2.2 移动apr包 apr-util包到安装目录中,并…

docker第二次作业

1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 拉取镜像 docker pull mysql:5.6 docker pull ow ncloud 运行镜像生成容器 [rootharbor ~]# docker run -d --name mydb1 --env MYSQL_ROOT_PASSWORD123456 mysql:5.6 [rootharbor ~]# docker run -d --name…

操作员管理 微人事 项目 SpringBooot + Vue 前后端分离

操作员管理接口设计 HrController RestController RequestMapping("/system/hr") public class HrController {AutowiredHrService hrService;GetMapping("/")public List<Hr> getAllHr(){return hrService.getAllHr();}}HrService public List<…

解决:Appium Inspector刷新页面一直加载转圈

目录 问题&#xff1a;Appium Inspector刷新页面一直加载转圈 解决办法&#xff1a; 1.进入设置页面-电池-后台耗电管理 2.找到下面3个应用&#xff0c;修改为允许后台高耗电 问题&#xff1a;Appium Inspector刷新页面一直加载转圈 1、手机进行操作后&#xff0c;Appium I…

飞腾架构麒麟V10桌面系统Qt应用程序打包

目录 前言1. linuxdeployqt1.1 编译安装 linuxdeployqt1.2 编译安装 patchelf1.3 可选安装 appimagetool 2.设置环境变量3. 打包4.测试5.添加启动图标5.1 设置桌面图标和开始菜单图标5.2设置任务栏图标 6.总结 前言 本文记录了在飞腾架构麒麟V10桌面系统中打包Qt应用程序及部署…

前端需要理解的CSS知识

CSS&#xff08;层叠样式表&#xff0c;Cascading Style Sheets&#xff09;不是编程语言&#xff0c;而是用来描述 HTML 或 XML&#xff08;包括如 SVG、MathML 或 XHTML 之类的 XML 分支语言&#xff09;文档的表现与展示效果的样式表语言。CSS3是CSS的最新标准&#xff0c;是…

深度学习基础知识-pytorch数据基本操作

1.深度学习基础知识 1.1 数据操作 1.1.1 数据结构 机器学习和神经网络的主要数据结构&#xff0c;例如 0维&#xff1a;叫标量&#xff0c;代表一个类别&#xff0c;如1.0 1维&#xff1a;代表一个特征向量。如 [1.0&#xff0c;2,7&#xff0c;3.4] 2维&#xff1a;就是矩…

Spring源码深度解析三 (MVC)

书接上回 10.MVC 流程&源码剖析 * 问题1&#xff1a;Spring和SpringMVC整合使用时&#xff0c;会创建一个容器还是两个容器&#xff08;父子容器&#xff1f;&#xff09; * 问题2&#xff1a;DispatcherServlet初始化过程中做了什么&#xff1f; * 问题3&#xff1a;请求…

laravel aws s3

由于公司有境外项目&#xff0c;服务器、文件存储都是用的亚马逊&#xff0c;真真地是没有用过&#xff0c;在此记录一下自己的s3研究结果 Laravel - aws - s3 第一步创建用户&#xff0c;生成秘钥&#xff1a; 第二步创建存储桶&#xff1a; 1、创建存储桶时&#xff0c;以下…

kafka--技术文档-基本概念-《快速了解kafka》

学习一种新的消息中间键&#xff0c;卡夫卡&#xff01;&#xff01;&#xff01; 官网网址 Apache Kafka 基本概念 Kafka是一种开源的分布式流处理平台&#xff0c;由Apache软件基金会开发&#xff0c;用Scala和Java编写。它是一个高吞吐量的分布式发布订阅消息系统&#xf…

elelementui组件

一、按钮 1、按钮样式 使用type、plain、round和circle属性来定义 Button 的样式。 2、主要代码 <el-row><el-button>默认按钮</el-button><el-button type"primary">主要按钮</el-button><el-button type"success">…

【巧学C++之西游篇】No.2 --- C++闹天宫,带着“重载“和“引用“

文章目录 前言&#x1f31f;一、函数重载&#x1f30f;1.1.函数重载概念&#x1f30f;1.2.C支持函数重载的原理 -- 名字修饰 &#x1f31f;二、引用&#x1f30f;2.1.引用的概念&#x1f30f;2.2.引用特性&#x1f30f;2.3.常引用&#x1f30f;2.4.使用场景&#x1f30f;2.5.传…

Web 自动化神器 TestCafe—页面高级操作篇

♥ 前 言 在【Web 自动化神器 TestCafe — 页面基本操作篇】这篇文章中我们介绍了TestCafe页面交互的一些基本使用 Web 自动化神器 TestCafe — 页面基本操作篇 这篇文章接着上一篇来给大家介绍一下 TestCafe 页面交互的一些高级操作。 一、鼠标拖拽 鼠标拖拽鼠标拖拽 …

食品制造行业云MES系统解决方案

食品饮料行业大致可以分为初级产品加工、二次加工、食品制造、食品分装、调味品和饲料加工等几大类。由于处于产业链不同的位置&#xff0c;其管理存在一定的差异&#xff0c;那么食品行业的MES应该怎么建设呢&#xff1f; 食品饮料行业生产管理特点&#xff1a; 食品饮料行业…