004-利用Docker安装Mysql

利用Docker安装Mysql

一、在镜像仓库找到 Mysql

1.镜像仓库地址

https://hub.docker.com

2.复制命令
powershell 复制代码
docker pull mysql:8.0
3.下载Mysql镜像
4.查看镜像
powershell 复制代码
docker images

二、创建实例并启动

powershell 复制代码
docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
html 复制代码
参数说明:
-p3306:3306:将容器的3306端口映射到主机的3306端口
-v/mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v/mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v/mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-eMYSQLROOTPASSWORD=root:初始化root用户的密码
  • 查看容器:
powershell 复制代码
docker ps -a

发现容器状态为 Exited 表示启动失败

  • 查看容器启动失败的日志
powershell 复制代码
docker logs containerID

检查本地配置目录:

确认本地的 /mydata/mysqlconf目录中 是否存在 conf.d 和 mysql.conf.d 子目录,如果不存在,创建这个子目录。

powershell 复制代码
-- 创建子目录
mkdir -p /mydata/mysql/conf/conf.d
mkdir -p /mydata/mysql/conf/mysql.conf.d
  • 再启动Mysql
powershell 复制代码
docker start mysql
  • 查看容器启动状态
powershell 复制代码
docker ps

status:Up 。。表示容器正在运行

三、用本地工具连接数据库

进入到容器内部:

powershell 复制代码
docker exec -it mysql /bin/bash

四、设置 Mysql 配置

java 复制代码
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake 
skip-name-resolve
  • 重启mysql
powershell 复制代码
docker restart mysql
相关推荐
guo_wen_qiang29 分钟前
mac中docker desktop服务端开启远程访问
运维·服务器·macos·docker
Sayai2 小时前
Elasticsearch 9 安装验证实战:start-local 一键部署 + Docker 手动安装踩坑指南
大数据·elasticsearch·docker
名字还没想好☜7 小时前
Docker 容器安全加固实战:非 root、只读根文件系统、drop capabilities 与最小攻击面
运维·安全·docker·容器·kubernetes
码--到成功8 小时前
Docker、Kubernetes安装系列 二
docker·容器·kubernetes
M--Y10 小时前
Docker镜像与仓库管理详解
docker·容器
starzy199010 小时前
虚拟化解决方案全景:软件虚拟化、硬件虚拟化与 Docker 的位置
运维·docker·容器
泡干脆面就番茄11 小时前
MySQL_子查询_分页查询与联合查询详解
数据库·mysql
天若有情67312 小时前
Node+MySQL小型全栈笔记项目实战课程分享
数据库·笔记·mysql
名字还没想好☜15 小时前
Docker buildx 多架构镜像实战:一次构建 amd64+arm64,告别 exec format error
运维·docker·eureka·架构·kubernetes
gs8014016 小时前
告别 CI/CD 误伤与红条:Docker 镜像智能清理与优雅防冲突实战
ci/cd·docker·容器