docker安装配置mysql

一、安装mysql

1、使用docker下载mysql镜像源

复制代码
sudo docker pull mysql:5.7  #下载最新版本后面不加上:版本号

如果出现拉去镜像错误可参考文章(https://blog.csdn.net/weixin_39764056/article/details/145042307

复制代码
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

2、查看mysql镜像源

复制代码
sudo docker images

3、创建启动mysql容器

复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=root \
  -v /mydata/mysql/conf:/etc/mysql/conf.d/ \
  -v /mydata/mysql/data:/var/lib/mysql \
  -v /mydata/local/mysql/log:/var/log/mysql \
  mysql:5.7

docker run :创建启动容器
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql/conf.d/:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
-d mysql:5.7:使用那个版本创建启动的容器
--restart=always:自启动容器

4、查看创建的容器(查看容器发现容器不是up状态,可使用docker logs mysql 查看日志是那儿出现的问题,一般情况是没有找到对应的文件目录,需要提前创建)

复制代码
docker ps # 查看启动的容器
docker ps -a # 查看所有的容器,包含停止的

5、测试连接Navicat

二、配置mysql容器

1、可进入mysql容器,查看mysql容器内的文件

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

2、exit退出mysql容器,在虚拟机中配置文件映射到mysql容器内,创建配置文件my.cnf

复制代码
vi /mydata/mysql/conf/my.cnf  # 是没有my.cnf文件的,创建后里面是空的,插入以下内容后保存


[mysqld]
character-set-server=utf8  # 字符集设为 utf8
collation-server=utf8_unicode_ci  # 排序规则对应 utf8,而非 latin1

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

3、保存退出后重启mysq容器(重启后发现容器关闭可能是因为里面的字符错误或者格式代码与mysql版本不适配,需要重新编辑my.cnf里面的内容再重启容器)

复制代码
docker restart mysql

4、查看mysql容器内部的文件映射情况

进入文件夹/etc/mysql/conf.d,使用命令cat my.cnf即可

相关推荐
啦啦啦小石头2 分钟前
Docker 换源
docker
人道领域40 分钟前
javaWeb从入门到进阶(SpringBoot事务管理及AOP)
java·数据库·mysql
千寻技术帮2 小时前
10404_基于Web的校园网络安全防御系统
网络·mysql·安全·web安全·springboot
spencer_tseng2 小时前
MySQL table backup
mysql
Z...........2 小时前
MYSQL进阶查询
数据库·mysql
等什么君!3 小时前
docker -数据卷技术
运维·docker·容器
Dxy12393102164 小时前
MySQL INSERT ... ON DUPLICATE KEY UPDATE 与非主键唯一字段
数据库·mysql
上天_去_做颗惺星 EVE_BLUE4 小时前
Docker高效使用指南:从基础到实战模板
开发语言·ubuntu·docker·容器·mac·虚拟环境
好好沉淀5 小时前
Docker开发笔记(详解)
运维·docker·容器
禅口魔心6 小时前
Win10 + WSL2 + Docker:K510(DongshanPI-Vision)开发环境从踩坑到跑通全记录(交叉编译 + 上板运行)
docker·嵌入式开发·wsl2·k510