MySQL在Docker下载安装及部署
确认是否已安装
安装前,确认一下docker是否已经安装过
1 | docker version |

查看MySQL的镜像版本
查看镜像的命令:docker search 镜像名
1 | docker search mysql |

拉取MySQL镜像
拉取镜像的命令:docker pull 镜像名
1 | docker pull mysql |
或者1
docker pull mysql:5.7
默认安装mysal最新版本
docker pull mysql
安装mysql指定的版本
docker pull mysql:版本号

验证是否拉取mysql成功
1 | docker images |


自定义一个mysql容器
给镜像定义容器名字的命令:docker run --name 容器名 -d 镜像名
1 | docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql |
1 | docker run --name mysql01 -p 3316:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 |
在后台启动mysql容器
—name:后面紧跟着docker容器的名称
-e MYSQL_ROOT_PASSWORD=emc123456:设置mysql的root账号密码
-d mysql 是你的镜像标签
-p 3316:3306 这里需要注意 ‘3316’ 是对外暴露的端口,3306为docker内部端口(通过 ip:3316 进行访问)

启动mysql容器
1 | docker start mysql01 |

1 | docker stop mysql01 |

1 | docker rm mysql01 |

1 | docker exec -it mysql01 bash |

1 | mysql -uroot -p |

再输入密码即可进入mysql控制台
显示数据库:show databases;
创建数据库:create databases db_01;

进入mysql控制台后就可以进行各种数据库操作了

退出docker中部署的mysql控制台
Ctrl + d 退出容器且关闭, docker ps 查看无
Ctrl + p + q 退出容器但不关闭, docker ps 查看有
----------------- 百度给的两种个很神奇的方法!!
查看mysql日志
1 | docker logs mysql01 |
温馨提示:
如果pull下来的mysql为最新版本,那么现在的新版本MySQL 8
是无法直接通过Navcat直连的。版本8相对低版本来说:全新的默认身份验证、SQL 角色、密码强度、授权
MySQL的5.7版本
可以正常通过Navcat
直连使用,所以pull镜像
的时候注意版本!!!

删除镜像
如果在不需要镜像的时候,删除某个镜像的时候,必须该镜像下的所有容器先rm
删除
删除镜像的命令:docker rmi 镜像名(或镜像id)
删除镜像前必须先删除容器 :docker rm 容器名
查看所以容器:docker ps -a
查看所有镜像:docker images
1 | docker rmi mysql |