前言
MySQL 是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能,MySQL 已成为 Web 应用程序的数据库优先选择。
并且目前,容器和 Docker 依旧是技术领域最热门的词语,无状态的服务容器化已经是大势所趋,同时也带来了一个热点问题被大家所争论不以:数据库 MySQL 是否需要容器化?但是在这里我抛出这个问题先不讨论,大家有想法得可以在评论区发表哦!
大家一起进步
安装
1.查看mysql的版本
访问 MySQL 镜像库地址:https://hub.docker.com/_/mysql?tab=tags
可以通过 Sort by 查看其他版本的 MySQL,默认是最新版本 mysql:latest ,你也可以在下拉列表中选中自己所要的版本!
也可以在服务器上使用 docker search mysql 命令来查看可用版本:
2. 拉取mysql镜像(这里我们拉取官方的最新版本的镜像)
执行 docker pull mysql:latest
3.查看本地镜像(使用以下命令来查看是否已安装了 mysql)
docker images 该命令是查看你的docker内部的所有容器
如图所示 即为安装成功
4.运行mysql容器(使用以下命令来运行 mysql 容器)
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
参数说明
- -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机以直接通过 宿主机ip:3306 访问到 MySQL 的服务.
- 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了
如图
7.外部主机访问mysql(相关问题)
在连接之前需要确认是否在阿里云服务器开放了3306端口入方向的权限,开放权限的相关操作访问此链接即可看到 点我查看如何开放服务器端口访问权限
这里使用navicat连接mysql,使用的是root用户但是出现了下图的错误
此时我们需要执行以下操作
- 重复第6步骤,进入MySQL容器,登陆MySQL服务
- 重新设置root用户密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword'
newpassword就是新的密码
我将密码修改为mysql
然后重新使用navicat进行连接就成功了
如国此篇博客对您有用,希望您可以点个赞哦!谢谢您