⛳ Docker 安装 MySQL

🎍目录

  • ⛳ 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.mzph.cn/news/55366.shtml

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

相关文章

Java基础 数据结构一【栈、队列】

什么是数据结构 数据结构是计算机科学中的一个重要概念,用于组织和存储数据以便有效地进行访问、操作和管理。它涉及了如何在计算机内存中组织数据,以便于在不同操作中进行查找、插入、删除等操作 数据结构可以看作是一种数据的组织方式,不…

[NLP]深入理解 Megatron-LM

一. 导读 NVIDIA Megatron-LM 是一个基于 PyTorch 的分布式训练框架,用来训练基于Transformer的大型语言模型。Megatron-LM 综合应用了数据并行(Data Parallelism),张量并行(Tensor Parallelism)和流水线并…

docker-maven-plugin直接把镜像推到私有仓库

接着上篇 推送到本地docker 我们已经把服务做成镜像推到docker&#xff0c;也可以通过docker login 私有地址&#xff0c;去push。麻烦 直接上代码 1、pom改动 <properties><docker.registry>eco-registry.XXX.com</docker.repostory><docker.registry…

项目---日志系统

目录 项目系统开发环境核心技术日志系统介绍为什么需要日志系统? 日志系统框架设计日志系统模块划分代码实现通用工具实现日志等级模块实现日志消息模块实现格式化模块实现落地模块实现日志器模块同步日志器异步日志器缓冲区实现异步工作器实现 回归异步日志器模块建造者模式日…

KVM创建虚拟机可访问外网+可使用Xshell等工具连接

创建虚拟机时使用桥接网络模块即可&#xff0c;如下&#xff1a; 1、创建一个存储卷(虚拟机的磁盘) 2、创建虚拟机时选择网络 3、系统安装完成后配置固定IP地址 vi /etc/sysconfig/network-scripts/ifcfg-eth0ONBOOTyes BOOTPROTOstatic IPADDR16.32.15.60 GATEWAY16.32.15.2…

C++--两个数组的dp问题(2)

1.交错字符串 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给定三个字符串 s1、s2、s3&#xff0c;请判断 s3 能不能由 s1 和 s2 交织&#xff08;交错&#xff09; 组成。 两个字符串 s 和 t 交织 的定义与过程如下&#xff0c;其中每个字符串都…

SpringBoot实现文件上传和下载笔记分享(提供Gitee源码)

前言&#xff1a;这边汇总了一下目前SpringBoot项目当中常见文件上传和下载的功能&#xff0c;一共三种常见的下载方式和一种上传方式&#xff0c;特此做一个笔记分享。 目录 一、pom依赖 二、yml配置文件 三、文件下载 3.1、使用Spring框架提供的下载方式 3.2、通过IOUti…

NIO原理浅析(一)

IO简介 摘抄了下维基百科对IO的定义&#xff0c;Input/Output&#xff0c;输入和输出&#xff0c;通常指数据在存储器或者其他周边设备之间的输出和输入&#xff0c;输入是系统接收到信号或者数据&#xff0c;输出则是从系统发送的信号或数据。 Java IO 读写原理 Java中文件…

基于Elasticsearch + Fluentd + Kibana(EFK)搭建日志收集管理系统

目录 1、EFK简介 2、EFK框架 2.1、Fluentd系统架构 2.2、Elasticsearch系统架构 2.3、Kibana系统架构 3、Elasticsearch接口 4、EFK在虚拟机中安装步骤 4.1、安装elasticsearch 4.2、安装kibana 4.3、安装fluentd 4.4、进入kibana创建索引 5、Fluentd配置介绍 Elas…

Linux网络编程:多路I/O转接服务器(select poll epoll)

文章目录&#xff1a; 一&#xff1a;select 1.基础API select函数 思路分析 select优缺点 2.server.c 3.client.c 二&#xff1a;poll 1.基础API poll函数 poll优缺点 read函数返回值 突破1024 文件描述符限制 2.server.c 3.client.c 三&#xff1a;epoll …

Elasticsearch(十三)搜索---搜索匹配功能④--Constant Score查询、Function Score查询

一、前言 之前我们学习了布尔查询&#xff0c;知道了filter查询只在乎查询条件和文档的匹配程度&#xff0c;但不会根据匹配程度对文档进行打分&#xff0c;而对于must、should这两个布尔查询会对文档进行打分&#xff0c;那如果我想在查询的时候同时不去在乎文档的打分&#…

Redis(缓存预热,缓存雪崩,缓存击穿,缓存穿透)

目录 一、缓存预热 二、缓存雪崩 三、缓存击穿 四、缓存穿透 一、缓存预热 开过车的都知道&#xff0c;冬天的时候启动我们的小汽车之后不要直接驾驶&#xff0c;先让车子发动机预热一段时间再启动。缓存预热是一样的道理。 缓存预热就是系统启动前&#xff0c;提前将相关的…

C语言基础之——指针(下)

前言&#xff1a;本篇文章将继续讲解有关指针的剩余基础知识。 学无止境&#xff0c;一起加油叭&#xff01;&#xff01; 目录 一.指针运算 1.指针 - 整数 2.指针的关系运算 3.指针 - 指针 二.指针与数组 三.二级指针 四.指针数组 总结 一.指针运算 指针运算包括以下三…

【TI毫米波雷达笔记】UART串口外设配置及驱动(以IWR6843AOP为例)

【TI毫米波雷达笔记】UART串口外设初始化配置及驱动&#xff08;以IWR6843AOP为例&#xff09; 最基本的工程建立好以后 需要给SOC进行初始化配置 int main (void) {//刷一下内存memset ((void *)L3_RAM_Buf, 0, sizeof(L3_RAM_Buf));int32_t errCode; //存放SOC初…

c#设计模式-创建型模式 之 原型模式

概述 原型模式是一种创建型设计模式&#xff0c;它允许你复制已有对象&#xff0c;而无需使代码依赖它们所属的类。新的对象可以通过原型模式对已有对象进行复制来获得&#xff0c;而不是每次都重新创建。 原型模式包含如下角色&#xff1a; 抽象原型类&#xff1a;规定了具…

AliOS-Things引入

目录 一、简介 1.1 硬件抽象层 1.2 AliOS-Things内核 rhino ​编辑 1.3 AliOS-Things组件 二、如何进行AliOS-Things开发 三、安装环境 安装python pip git 修改pip镜像源 安装aos-cube 一、简介 AliOS-Things是阿里巴巴公司推出的致力于搭建云端一体化LoT软件。AliOS-…

【python】python智能停车场数据分析(代码+数据集)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

azure data studio SQL扩展插件开发笔记

node.js环境下拉取脚手架 npm install -g yo generator-azuredatastudio yo azuredatastudio 改代码 运行 调试扩展&#xff0c;在visual studio code中安装插件即可 然后visual studio code打开进行修改运行即可 image.png 运行后自动打开auzre data studio了&#xff0c; 下面…

spring整合mybatis教程(详细易懂)

一、引言 1、Spring整合MyBatis的目的是&#xff1f; 将两个框架结合起来&#xff0c;以实现更好的开发体验和效果。Spring提供了一种轻量级的容器和依赖注入的机制&#xff0c;可以简化应用程序的配置和管理。而MyBatis是一个优秀的持久层框架&#xff0c;可以方便地进行数据…

C# .aspx网页获取RFID读卡器HTTP协议提交的访问文件Request获得卡号、机号,Response回应驱动读卡器显示响声

本示例使用的设备&#xff1a;RFID网络WIFI无线TCP/UDP/HTTP可编程二次开发读卡器POE供电语音-淘宝网 (taobao.com) 服务端代码&#xff1a; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.…