【Docker】04 部署MySQL
从官网上拉取最新MySQL镜像:
docker pull mysql:latest
创建并运行一个MySQL镜像的容器
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
即使该容器实例运行失败,也表示它是创建成功的,已经存在

命令参数的解释?
-itd
-d: 后台运行容器,并返回容器ID
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --name mysql-test
设置该容器实例的名称标识 -p 3306:3306
映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务 -e MYSQL_ROOT_PASSWORD=123456 mysql
设置 MySQL 服务 root 用户的密码。
如果物理机的已经运行了本地安装的MySQL并占用了3306端口,应该更改为3307或者其他端口
【如果这个容器异常无法使用,直接移除容器重新创建即可】
移除容器实例:
docker rm mysql-test

修改端口设置并重新执行运行命令
docker run -itd --name mysql-test -p 3307:3307 -e MYSQL_ROOT_PASSWORD=123456 mysql

我们访问MySQL容器,需要先进入这个容器:
docker exec -it 容器名称标识 bash

这里刚刚进入MySQL容器马上就退出了
再次启动就报错说容器没有运行
百度得知容器实例是因为Linux内存导致的
使用指令查看内存
free -h

算了玩不了。。。
然后使用TOP命令查看Linux所有进程使用情况:

发现本地安装的MYSQL服务内存占用高的离谱,于是立刻停止服务了
重新创建运行容器实例,这回正常了:

输入密码123456,访问成功:

使用本机的SQLyog访问测试,记住是3307端口
发现错误2003代码:

很可能是因为防火墙没开放这个端口
先退出容器:

防火墙开放3307端口,重启之后再看看

但是还是没有用,可能因为MYSQL8.021版本远程用户需要创建新用户才可以使用
进入容器实例,进入MySQL:
更改加密规则:
ALTER USER 'root'@localhost IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
创建一个远程用户:
CREATE USER 'daizhizhou'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
然后赋予完整权限:
GRANT ALL PRIVILEGES ON *.* TO 'daizhizhou'@'%';

最后刷新权限:
flush privileges;
使用远程账号访问还是不行,但是到这里我才明白是因为之前设置的端口号原因导致的:
删除这个镜像应该使用这个端口配置,因为mysql默认3306端口,配置3307根本无法监听
所以需要由MySQL镜像的3306配置实际端口的3307:
docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
但是又有新的问题:

这个好解决,回到上面创建新的用户并赋予所有权限,然后刷新权限,访问即可

终于反应过来那个配置的解释的话,这样的话就可以本机mysql和容器mysql共存了
【Docker】04 部署MySQL的更多相关文章
- 在Centos上安装docker,部署mysql数据库
何为docker? Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 本机环境 24小时不关机的Centos ...
- 利用Docker快速部署Mysql
写在前面 我又来更新了~~~,今天内容较少,主要是利用Docker快速部署Mysql和初始化数据 利用Docker下载Mysql 简洁明了,在命令提示符中输入 docker pull mysql:8. ...
- docker stack 部署 mysql 5.6
=============================================== 2018/7/1_第1次修改 ccb_warlock === ...
- Docker容器部署Mysql数据库服务器
本节会用到的Docker命令如下: docker images 查看mysql镜像id docker run -d -p xxxxxxxxxxxxxxx/zhufc/mysql:v2 通过镜像生成 启 ...
- docker环境部署mysql
参考文档 docker官方:https://hub.docker.com/_/mysql/?tab=description 部署步骤 1. 拉取镜像 这里我拉取了tag为5.7的镜像 docker p ...
- 如何利用 docker 快速部署 Mysql 服务
docker 基础教程不再多说,这里只着重讲如何使用 docker 部署 mysql 服务 docker 拉取 访问 dockerhub,搜索关键词 mysql,我这里选择 mysql-server, ...
- docker 安装部署 mysql(配置文件启动)
获取 mysql 镜像 docker pull mysql:5.6 docker images 创建容器 创建宿主机 redis 容器的数据和配置文件目录 # 创建宿主机 redis 容器的数据和配置 ...
- 在docker上部署mysql
1.拉取官方镜像5.6的版本.(查看有哪些版本,可以在阿里云的镜像仓库查看,我配置的镜像是阿里云的) docker pull mysql:5.6 2.查看拉取的镜像,获取镜像id docker ima ...
- Docker windows nanoserver/mysql镜像root用户密码错误
由于需要在Windows server上的Docker中部署mysql服务,为了方便起见所以在Docker hub找到了nanoserver/mysql (https://hub.docker.com ...
- 群晖DS218+部署mysql
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
随机推荐
- 基于Vue的二进制时钟组件 -- fx67llBinaryClock
fx67llClock Easy & Good Clock ! npm 组件说明 一个基于Vue的二进制时钟组件,没什么卵用,做着好玩,可以方便您装饰个人主页 使用步骤 npm install ...
- 利用nodejs的require.context来实现不用写impor导入组件
先给你们看下目录结构 stuendt和teacharts还有util是同级 主要是componentRegister.js文件 function changStr(str) { return str. ...
- 算法学习笔记(35): CMD Tree
对于 CMD Tree 的理解 原文:# 一种轻量级平衡树 这,EXSGT,感觉很像支持分裂 WBLT,但是相对来说思路很简单. 首先,在原文中说了: 能以均摊 \(\Theta(\log n)\) ...
- 告别Word,用Python打造你的专业简历!
今天给大家介绍下一个在纯 python 中构建简历的实用工具,工具的连接地址https://github.com/koek67/resume-builder/blob/main/readme.md 用 ...
- linux系统下,配置多个tomcat服务
安装jdk时配置的环境变量 export JAVA_HOME=/usr/local/jdk1.8.0_311 export JRE_HOME=$JAVA_HOME/jre export PATH=$P ...
- kettle从入门到精通 第六十七课 ETL之kettle 再谈kettle阻塞,阻塞多个分支的多个步骤
场景:ETL沟通交流群内有小伙伴反馈,如何多个分支处理完毕之后记录下同步结果呢?或者是调用后续步骤.存储过程.三方接口等. 解决:使用步骤Blocking step进行阻塞处理即可. 1. 如下流程图 ...
- EF MYSQL 出现:输入字符串的格式不正确
实体类字段和数据库类型不一致. 比如:数据库是char类型字段,程序里声明为int.
- 开源一款功能强大的 .NET 消息队列通讯模型框架 Maomi.MQ
目录 文档说明 导读 快速开始 消息发布者 IMessagePublisher 连接池 消息过期 事务 发送方确认模式 独占模式 消费者 消费者模式 事件模式 分组 消费者模式 消费.重试和补偿 消费 ...
- Mybatis.xml文件中 大于小于等于
Mybatis中 大于小于等于的转义写法第一种写法:符号 转义字符< <<= <=> >>= >=& &am ...
- [flask]统一API响应格式
前言 在设计API返回内容时,通常需要与前端约定好API返回响应体内容的格式.这样方便前端进行数据反序列化时相应的解析处理,也方便其它服务调用.不同公司有不同的响应内容规范要求,这里以常见的JSON响 ...