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即可

相关推荐
黑白极客21 小时前
怎么给字符串字段加索引?日志系统 一条更新语句是怎么执行的
java·数据库·sql·mysql·引擎
哈里谢顿1 天前
小探mysql覆盖索引
mysql
X***07881 天前
理解 MySQL 的索引设计逻辑:从数据结构到实际查询性能的系统分析
数据库·mysql·sqlite
warton881 天前
ubuntu24 安装 proxsql 实现数据库代理
linux·运维·mysql·ubuntu
天意pt1 天前
Blog-SSR 系统操作手册(v1.0.0)
前端·vue.js·redis·mysql·docker·node.js·express
沫离痕1 天前
windows安装docker实例
windows·docker·容器
麦麦大数据1 天前
J009 美食推荐可视化大数据系统vue+springboot
vue.js·spring boot·mysql·推荐算法·美食·可视化分析·沙箱支付
菜鸟笔记本1 天前
linux设置定时备份mysql数据
linux·mysql·oracle
千寻技术帮1 天前
10347_基于Springboot的新疆旅游管理系统
spring boot·mysql·旅游·在线旅游
唯情于酒1 天前
Docker部署若依(前后端分离版)
vue.js·docker·容器