mysql数据库容器化-Docker内部署mysql

前言

MySQL 是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能,MySQL 已成为 Web 应用程序的数据库优先选择。
并且目前,容器和 Docker 依旧是技术领域最热门的词语,无状态的服务容器化已经是大势所趋,同时也带来了一个热点问题被大家所争论不以:数据库 MySQL 是否需要容器化?但是在这里我抛出这个问题先不讨论,大家有想法得可以在评论区发表哦!
大家一起进步

安装

1.查看mysql的版本

访问 MySQL 镜像库地址:https://hub.docker.com/_/mysql?tab=tags 
可以通过 Sort by 查看其他版本的 MySQL,默认是最新版本 mysql:latest ,你也可以在下拉列表中选中自己所要的版本!

mysql镜像页面也可以在服务器上使用 docker search mysql 命令来查看可用版本:
服务器内部命令查看mysql版本

2. 拉取mysql镜像(这里我们拉取官方的最新版本的镜像)

执行 docker pull mysql:latest

docker拉取mysql

3.查看本地镜像(使用以下命令来查看是否已安装了 mysql)

docker images   该命令是查看你的docker内部的所有容器

mysql镜像安装 如图所示 即为安装成功

4.运行mysql容器(使用以下命令来运行 mysql 容器)

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

参数说明

  1. -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机以直接通过 宿主机ip:3306 访问到 MySQL 的服务.
  2. MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。此处为123456

5.查看运行是否成功

docker ps   该命令是列出列出所有在运行的容器信息。

如图所示
如图所示,即为mysql运行成功

6.本机访问mysql服务

- 首先进入docker内的mysql容器 
	docker exec -it CONTAINER ID bash
- 登陆mysql
	mysql -u root -p123456
	然后就可以开始写sql了

如图
先进入mysql容器,然后登陆服务

7.外部主机访问mysql(相关问题)

在连接之前需要确认是否在阿里云服务器开放了3306端口入方向的权限,开放权限的相关操作访问此链接即可看到 点我查看如何开放服务器端口访问权限
这里使用navicat连接mysql,使用的是root用户但是出现了下图的错误
连接错误
此时我们需要执行以下操作

  1. 重复第6步骤,进入MySQL容器,登陆MySQL服务
  2. 重新设置root用户密码
 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword'
newpassword就是新的密码

修改密码
我将密码修改为mysql
然后重新使用navicat进行连接就成功了
连接成功
如国此篇博客对您有用,希望您可以点个赞哦!谢谢您

发布了6 篇原创文章 · 获赞 32 · 访问量 747

猜你喜欢

转载自blog.csdn.net/weixin_44793294/article/details/103896696