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
相关推荐
llrraa20103 小时前
配置docker国内镜像源
运维·docker·容器
小江的记录本4 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
木心术14 小时前
Windows系统下MySQL与AI工具集成方案:数据存储与调用实践
人工智能·windows·mysql
这个DBA有点耶4 小时前
SQL改写实战:子查询、CTE、窗口函数性能对比
数据库·mysql·性能优化
小江的记录本5 小时前
【Java基础】反射与注解:核心原理、自定义注解、注解解析方式(附《思维导图》+《面试高频考点清单》)
java·数据结构·python·mysql·spring·面试·maven
Java成神之路-5 小时前
深入拆解 MySQL InnoDB 隔离级别:从 MVCC 到临键锁
mysql
华为云开发者联盟5 小时前
告别繁琐操作,华为云码道 + Docker重塑远程开发体验
人工智能·学习·docker·华为云·软件开发·华为云码道
罗超驿5 小时前
19.告别复杂SQL!用MySQL视图把逻辑拆成“变量”式操作
数据库·mysql·面试
m_136875 小时前
Docker Desktop WSL2 启动失败:ext4.vhdx 拒绝访问(E_ACCESSDENIED)完整解决方案
docker
码上有光6 小时前
MySQL基本查询
数据库·mysql·oracle·期末快速复习