iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何连接docker中的MySQL容器
  • 444
分享到

如何连接docker中的MySQL容器

连接docker中MySQL容器docker MySQL容器MySQL容器连接 2022-11-30 10:11:11 444人浏览 安东尼
摘要

目录连接Docker中Mysql容器docker中mysql容器启动一 下拉镜像二 运行镜像连接docker中Mysql容器 我以gin WEB项目为例,演示在容器中运行时mysql的相关配置。 1. 登入MySQL修改

连接docker中Mysql容器

我以gin WEB项目为例,演示在容器中运行时mysql的相关配置。

1. 登入MySQL修改访问权限并刷新权限。

update user set host = '%' where user = 'root';

如何连接docker中的MySQL容器

grant all on *.* to admin@'%' identified by 'root' with grant option; 

允许所有用户拿着密码“root”去访问。

flush privileges; 刷新权限

2. 修改密码认证配置。

由于docker上MySQL的版本是8.0.19

如何连接docker中的MySQL容器


而我本地MySQL是5.7两者的认证方式不一样(前者是caching_sha2_passWord,后者是my_native_password)因此我们对它进行修改。

如何连接docker中的MySQL容器

我修改了所有用户的密码认证配置后才起效。

如何连接docker中的MySQL容器

3. 至此,我已经可以用本地的数据库图形化界面连接docker中的MySQL容器。

如何连接docker中的MySQL容器

但是在关联运行gin_blog_docker_scrach时数据库一直拒绝连接:

如何连接docker中的MySQL容器

最后,我查阅资料得知:

Go应用中使用localhost或则使用127.0.0.1地址都是无法找msyql服务的,因为该地址被解析成了当前go应用docker容器中的ip地址;

修改应用配置中的ip地址:

如何连接docker中的MySQL容器

再次运行容器:

如何连接docker中的MySQL容器

无错发生。

大功告成!

docker中MySQL容器启动

一 下拉镜像

docker pull mysql:5.7

docker images查看镜像

二 运行镜像

1. 运行镜像,如果不挂载路径运行执行以下就可以

docker run -id --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
  • -i:表示创建并运行容器
  • -d:表示后台运行
  • -p:映射端口,相对于访问宿主机ip:3306 就是访问的mysql容器
  • -e:配置mysql,这里设置了一下root密码,当然也可以也又其它设置选项,在这没用到
  • mysql:5.7:镜像名和版本,如果这个镜像不存在会自动下载镜像

2. 挂载路径

挂载路径的好处一是方便我们修改和查看,比如修改mysql配置文件my.cnf,不挂载的话需要进入容器然后在修改,my.cnf挂载出来后可以直接在宿主机查看,日志文件也是同样的,第二个好处是防止暑假丢失,如果容器不小心停止删除了数据库中的所有数据就丢失了。

docker run -id --name mysql
-v /docker/mysql/log/:/var/log 
-v /docker/mysql/data/:/var/lib/mysql 
-v /docker/mysql/my.cnf:/etc/my.cnf
-p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

用了三个-v,分别挂载出来日志 mysql数据和my.cnf,-v 宿主机文件 容器中文件

直接运行上面命令可能启动失败,需要在宿主机中先创建一个my.cnf,即在宿主机docker/mysql中床新建一个文件my.cnf文件内容为:

[mysqld]
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
Socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

#log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

docker ps查看运行的容器

使用可视化工具连接mysql测试

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文档:

--结束END--

本文标题: 如何连接docker中的MySQL容器

本文链接: https://www.lsjlt.com/news/173624.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何连接docker中的MySQL容器
    目录连接docker中mysql容器docker中MySQL容器启动一 下拉镜像二 运行镜像连接docker中MySQL容器 我以gin web项目为例,演示在容器中运行时mysql的相关配置。 1. 登入MySQL修改...
    99+
    2022-11-30
    连接docker中MySQL容器 docker MySQL容器 MySQL容器连接
  • Docker如何连接容器
    这篇文章给大家分享的是有关Docker如何连接容器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。连接容器docker run -dti --name...
    99+
    2022-10-19
  • docker容器连接宿主机redis和mysql
    当我们在用docker部署项目的时候可能会遇到这样一个问题:项目A和项目B都用到了redis和mysql,如果在docker-compose里link或者dependon一个redis和mysql的话,会发现每一个项目都有一个redis和m...
    99+
    2023-08-18
    redis mysql docker
  • 如何通过ssh远程连接docker中的容器
    这篇文章主要介绍“如何通过ssh远程连接docker中的容器”,在日常操作中,相信很多人在如何通过ssh远程连接docker中的容器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何通过ssh远程连接dock...
    99+
    2023-06-19
  • docker创建centos容器并在容器里下载MySQL本地连接MySQL
    目录一、拉取镜像二、查看是否拉取成功三、创建docker容器的几种方法方法一:(建议新手使用)一步步创建方法二:(创建并进入容器)方法三:(直接创建并设立端口再进入容器)设立端口方便...
    99+
    2022-11-13
  • Docker如何使用attach命令连接容器
    这篇文章给大家分享的是有关Docker如何使用attach命令连接容器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用attach命令连接容器docker attac...
    99+
    2022-10-19
  • 教你如何通过 SSH 连接到 Docker 容器
    SSH 是系统管理员工具箱中最常用的命令之一,但它并不常见于 Docker。以下是如何通过 SSH 连接到正在运行的容器,以及为什么在这样做之前应该三思而后行。 你应该在 Dock...
    99+
    2022-11-13
  • docker-compose容器互相连接的实现
    一些示例未整理 haproxy 与nginx 容器连接 ## 服务的compose 编写 mkdir /mnt/compose vim docker-compose.yml web1...
    99+
    2022-11-13
  • docker compose容器互相连接的方法
    这篇文章主要介绍了docker compose容器互相连接的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇docker compose容器互相连接的方法文章都会有所收获,下面我们一起来看看吧。haproxy...
    99+
    2023-06-29
  • Linux下如何配置Docker容器间网络连接
    本篇内容主要讲解“Linux下如何配置Docker容器间网络连接”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下如何配置Docker容器间网络连接”吧!Docker容器都是独立的,互相...
    99+
    2023-06-12
  • 如何在 Docker 容器中运行 MySQL
    本指南逐步解释了如何在几分钟内设置在 Docker 容器中运行的新 MySQL 服务器。 Docker 的一大优点是您可以快速使用它来试用应用程序,而无需直接在您的机器上安装它。您可以使用 Docker 在容器中运行数据库,就像它是远程服务...
    99+
    2023-09-17
    python php 开发语言
  • docker创建centos容器并下载MySQL进行本地连接的方法
    本篇内容介绍了“docker创建centos容器并下载MySQL进行本地连接的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、拉取镜像...
    99+
    2023-06-29
  • ssh如何连接docker服务器
    这篇文章主要讲解了“ssh如何连接docker服务器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ssh如何连接docker服务器”吧!主要说一下怎么创建一个docker服务,让别人可以通过...
    99+
    2023-06-27
  • PhpStorm如何连接docker容器内的php XDebug进行断点调试
    这篇“PhpStorm如何连接docker容器内的php XDebug进行断点调试”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“PhpStorm如何连接docker容器内的php XDebug进行断点调试”,给大家总结了以下...
    99+
    2023-06-06
  • vscode 远程连接服务器docker容器的设置方法
    目录拉取镜像 运行镜像(产生一个容器) 启动容器 进入容器 查看所有镜像 退出容器 重启容器 查看所有容器 删除容器 批量删除docker中已经停止的容器vscode通过ssh远程连...
    99+
    2022-11-12
  • Navicat远程连接Docker容器中的mysql:报异常,1044 - Access denied for user ‘root‘@‘%‘ to database ‘xxxxxx‘
    一.问题描述 (1)在Docker中部署mysql容器; (2)远程连接工具可以成功连接之后,只会显示自动生成的数据库,其他的数据库无法显示; (3)无法使用远程连接工具创建数据库(Navicat):一旦执行创建数据库,就报1044异常。 ...
    99+
    2023-08-19
    数据库 docker mysql
  • 如何修改docker容器中MySQL的用户密码
    目录1.查看启动的mysql容器id2.进入启动的MySQL容器中3.修改MySQL配置文件4.重启数据库5.重启MySQL容器6.再次进入启动的MySQL容器内6.使用语句mysql -u root -p 语句7.使用...
    99+
    2023-04-21
    docker MySQL修改密码 docker MySQL密码修改
  • Docker容器端口映射后突然无法连接如何排查
    这篇“Docker容器端口映射后突然无法连接如何排查”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2022-10-19
  • Docker如何创建并进入mysql容器
    这篇文章主要介绍“Docker如何创建并进入mysql容器”,在日常操作中,相信很多人在Docker如何创建并进入mysql容器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker如何创建并进入mysq...
    99+
    2023-07-05
  • Docker如何部署Mysql,.Net6,Sqlserver等容器
    这篇文章主要介绍了Docker如何部署Mysql,.Net6,Sqlserver等容器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Centos8安装Docker1.更新一下...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作