docker创建mysql,以及mysql无法连接问题

 1、docker开放3306端口

Docker开放3306端口实现步骤
本文将介绍如何使用Docker开放3306端口,以便其他容器或外部应用程序可以通过该端口访问MySQL数据库。以下是实现步骤的简要说明:

步骤    描述
第一步    创建一个MySQL容器
第二步    打开3306端口
第三步    配置MySQL用户和密码
第四步    连接到MySQL容器
现在,让我们逐步详细说明每个步骤,并提供相应的代码示例。

第一步:创建一个MySQL容器
首先,我们需要创建一个MySQL容器。可以使用以下命令来完成:

docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=<root_password> mysql


1.
上述命令将创建一个名为mysql-container的MySQL容器,并指定了一个环境变量MYSQL_ROOT_PASSWORD,其中<root_password>应替换为您想要设置的实际密码。该容器将自动从[Docker Hub](

第二步:打开3306端口
默认情况下,MySQL容器不会将3306端口暴露给外部网络。为了使其他容器或外部应用程序能够访问该端口,我们需要映射容器内的3306端口到主机上的一个端口。可以使用以下命令来完成:

docker run -d --name mysql-container -p <host_port>:3306 -e MYSQL_ROOT_PASSWORD=<root_password> mysql


1.
上述命令中的<host_port>应替换为您想要将容器内的3306端口映射到的实际主机端口。

第三步:配置MySQL用户和密码
一旦MySQL容器正在运行并且已打开3306端口,我们就可以连接到容器并配置MySQL用户和密码。可以使用以下命令连接到MySQL容器的shell:

docker exec -it mysql-container mysql -uroot -p<root_password>


1.
上述命令将打开一个MySQL shell,其中<root_password>应替换为您在第一步中设置的实际密码。

在MySQL shell中,您可以使用以下命令创建新的MySQL用户并授予适当的权限:

CREATE USER '<username>'@'%' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON *.* TO '<username>'@'%' WITH GRANT OPTION;


1.
2.
上述代码中的<username>和<password>应替换为您要创建的实际用户名和密码。%表示允许从任何主机连接到MySQL。如果您只想允许特定主机连接,请将%更改为相应的主机名或IP地址。

第四步:连接到MySQL容器
现在,我们已经完成了Docker开放3306端口的设置,我们可以使用以下命令连接到MySQL容器:

mysql -h <host> -P <host_port> -u <username> -p<password>


1.
上述命令中的<host>和<host_port>应替换为您在第二步中映射的实际主机和端口。<username>和<password>应替换为您在第三步中创建的实际用户名和密码。

完成这些步骤后,您应该能够成功连接到MySQL容器,并通过3306端口访问MySQL数据库。

2、连接数据库报plugin caching_sha2_password could not be loaded解决方案

问题描述
连接数据库时出现plugin caching_sha2_password could not be loaded报错

原因分析:
因为MySQL新版默认使用caching_sha2_password作为身份验证的插件,而旧版本使用的是mysql_native_password。当出现plugin caching_sha2_password could not be loaded报错,我们更换为旧版本

解决方案:

docker exec -it mysql bash

1.使用远程命令行登录mysql

mysql -h localhost -u root -p root -P 3306

这一步骤自己调试命令。
登录成功后会出现

2.操作数据库命令:

use mysql;


3.修改root用户的身份验证插件

本地连接:

alter user root@localhost identified with mysql_native_password by '123456';FLUSH PRIVILEGES;


远程连接:

alter user root@'%' identified with mysql_native_password by '123456';
FLUSH PRIVILEGES;


4.最后再次连接数据库,出现你喜欢看到的页面!

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

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

相关文章

Part-DB 安装及使用

Part-DB 安装及使用: http://coffeelatte.vip.cpolar.top/post/software/applications/part-db/part-db_安装及使用/ Part-DB 是比较实用的元器件进销存 Web 系统&#xff0c;支持使用电脑摄像头扫码&#xff08;条码和二维码&#xff09;。 1. 安装 大部分按照 官方安装指导…

C++:模版进阶 | Priority_queue的模拟实现

创作不易&#xff0c;感谢三连支持 一、非类型模版参数 模板参数分类为类型形参与非类型形参。 类型形参即&#xff1a;出现在模板参数列表中&#xff0c;跟在class或者typename之类的参数类型名称。 非类型形参&#xff0c;就是用一个常量作为类(函数)模板的一个参数&…

JavaScript高级Ⅱ(全面版)

接上文 JavaScript高级Ⅰ JavaScript高级Ⅰ(自认为很全面版)-CSDN博客 目录 第2章 DOM编程 2.1 DOM编程概述 2.1.4 案例演示(商品全选) 2.1.5 dom操作内容 代码演示&#xff1a; 运行效果&#xff1a; 2.1.6 dom操作属性 代码演示&#xff1a; 运行效果&#xff1a; 2…

CEF JS与c++能够交互的原理 以及 JS 调用C++的流程分析

相关章节:CEF 之 Render进程 与 Browser进程通信 目录 一、JS与c++能够交互的原理 二、JS调用C++ 流程梳理

大模型时代下的自动驾驶研发测试工具链-SimCycle

前言&#xff1a; 最近OpenAI公司的新产品Sora的发布&#xff0c;正式掀起了AI在视频创作相关行业的革新浪潮&#xff0c;AI不再仅限于文本、语音和图像&#xff0c;而直接可以完成视频的生成&#xff0c;这是AI发展历程中的又一座重要的里程碑。AI正在不断席卷着过去与我们息…

【Node.js从基础到高级运用】四、Node.js基础

Node.js 基础 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。它使得 JavaScript 可以脱离浏览器环境&#xff0c;在服务器端运行。本教程将介绍 Node.js 的一些基础概念&#xff0c;包括全局对象、内置模块的使用&#xff0c;以及事件循环和异步编程的基础。 全…

【EXCEL自动化07】用pandas库实现vlookup函数功能

🔥学好办公自动化,帮你节省更多宝贵的时间 🔥这个专栏收录python办公自动化的实操案例,利用python实现高效的办公自动化 🔥实现excel,word,文件批处理等自动化操作 使用pandas库来实现Excel中VLOOKUP函数的功能。 需要安装pandas库。有时直接下载会失败,会提示先安…

STM32 学习10 PWM输出

STM32 学习10 PWM输出 一、PWM简介1. PWM的概念2. PWM的工作原理3. PWM 常用的应用场景 二、一些概念1. 频率2. 占空比 三、STM32F1 PWM介绍1. 定时器与寄存器&#xff08;1&#xff09;**自动重装载寄存器&#xff08;ARR&#xff09;**&#xff1a;&#xff08;2&#xff09;…

python基础——输入与输出【input 和 print】

&#x1f4dd;前言&#xff1a; 上一篇文章python基础——入门必备知识中讲解了一些关于python的基础知识&#xff0c;可以让我们更好的理解程序代码中内容的含义&#xff0c;不至于一头雾水。今天我就来介绍一下&#xff0c;python中两个常见的输入和输出语句 input 和 print …

产品推荐 - 基于星嵌 OMAPL138+国产FPGA的DSP+ARM+FPGA三核开发板

1 评估板简介 基于TI OMAP-L138&#xff08;定点/浮点DSP C674xARM9&#xff09; FPGA处理器的开发板&#xff1b; OMAP-L138是TI德州仪器的TMS320C6748ARM926EJ-S异构双核处理器&#xff0c;主频456MHz&#xff0c;高达3648MIPS和2746MFLOPS的运算能力&#xff1b; FPGA…

粘包与拆包

优质博文&#xff1a;IT-BLOG-CN 一、粘包出现的原因 服务端与客户端没有约定好要使用的数据结构。Socket Client实际是将数据包发送到一个缓存buffer中&#xff0c;通过buffer刷到数据链路层。因服务端接收数据包时&#xff0c;不能断定数据包1何时结束&#xff0c;就有可能出…

【操作系统概念】第11章:文件系统实现

文章目录 0.前言11.1 文件系统结构11.2 文件系统实现11.2.1 虚拟文件系统 11.3 分配方法11.3.1 连续分配11.3.2 链接分配11.3. 3 索引分配 11.5 空闲空间管理11.5.1 位图/位向量11.5.2 链表11.5.3 组 0.前言 正如第10章所述&#xff0c;文件系统提供了机制&#xff0c;以在线存…

系统架构设计师——计算机系统基础知识

计算机系统基础知识 计算机硬件基础知识、计算机软件基础知识、计算机语言、多媒体技术等内容 1.1 计算机系统概述 计算机系统的定义与组成计算机系统&#xff08;Computer System&#xff09;是指用于数据管理的计算机硬件、软件及网络组成的系统。&#xff08;软件硬件&am…

编程笔记 html5cssjs 004 网页基本结构 2035年倒计时

编程笔记 html5&css&js 004 网页基本结构 2035年倒计时 一、代码二、解释 这段HTML代码实现了一个倒计时页面&#xff0c;倒计时的目标日期是2035年1月1日。页面中使用一个<div>元素显示倒计时的天数、小时数、分钟数和秒数。 一、代码 <!DOCTYPE html> &…

springboot251基于springboot-vue的毕业论文管理系统

毕业论文管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本毕业论文管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短…

视频批量混剪剪辑,批量剪辑批量剪视频,探店带货系统,精细化顺序混剪,故事影视解说,视频处理大全,精细化顺序混剪,多场景裂变,多视频混剪

前言 工具的产生源于dy出的火山引擎的云视频混剪制作是按分钟数收费的&#xff0c;这个软件既能实现正常混剪也能避免二次收费。属于FFMPEG合成的。 欢迎大家给一些好的建议和功能&#xff0c;回复可见&#xff0c;附加了一些天卡&#xff0c;周卡&#xff0c;请大家不要一人占…

JavaSec 基础之 URLDNS 链

文章目录 URLDNS 链分析调用链复现反序列化复现 URLDNS 链分析 URLDNS是ysoserial里面就简单的一条利用链&#xff0c;但URLDNS的利用效果是只能触发一次dns请求&#xff0c;而不能去执行命令。比较适用于漏洞验证这一块&#xff0c;而且URLDNS这条利用链并不依赖于第三方的类…

Node.js是什么?

概念&#xff1a;Node.js1运行在服务器端的js&#xff0c;用来编写服务器 特点&#xff1a;单线程、异步、非阻塞、统一API 是一个构建在V8引擎之上的js运行环境&#xff0c;它使得js可以运行在浏览器以外的地方&#xff0c;相对于大部分的服务器端语言来说&#xff0c;Node.J…

练习3-softmax分类(李沐函数简要解析)与d2l.train_ch3缺失的简单解决方式

环境为:练习1的环境 网址为:https://www.bilibili.com/video/BV1K64y1Q7wu/?spm_id_from333.1007.top_right_bar_window_history.content.click 代码简要解析 导入模块 导入PyTorch 导入Torch中的nn模块 导入d2l中torch模块 并命名为d2l import torch from torch import nn…

Neo4j安装 Linux:CentOS、openEuler 适配langchain应用RAG+知识图谱开发 适配昇腾910B

目录 Neo4j下载上传至服务器后进行解压运行安装JAVA再次运行在windows端打开网页导入数据 Neo4j下载 进入Neo4j官网下载页面 向下滑动找到 Graph Database Self-Managed 选择 社区版&#xff08;COMMUNITY&#xff09; 选择 Linux / Mac Executable Neo4j 5.17.0 (tar) 单机下…