当前位置: 首页 > news >正文

docker安装mysql5.7

1、宿主机创建映射目录

mkdir -p /data/mysql/log
mkdir -p /data/mysql/data
mkdir -p /data/mysql/conf

这里我放在了/data/mysql目录下

2、拉取mysql镜像

docker pull mysql:5.7

注意是5.7版本,如果是8版本操作会略有不同,下篇文章介绍安装8版本的操作。
查看镜像

docker images

在这里插入图片描述

3、创建运行实例

docker run -p 13306:3306 --name mysql \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf:/etc/mysql \
--privileged=true \
-e MYSQL_ROOT_PASSWORD='123456' \
-d mysql:5.7

参数说明:

  • -p 13306:3306 将容器的3306端口映射到主机的13306端口
  • -v /mysql/mysql/conf:/etc/mysql 将配置文件夹挂载到主机
  • -v /mysql/mysql/log:/var/log/mysql 将日志文件夹挂载到主机
  • -v /mysql/mysql/data:/var/lib/mysql 将数据文件夹挂载到主机
  • -e MYSQL_ROOT_PASSWORD=123456 初始化root用户的密码

4、查看运行容器

docker ps

在这里插入图片描述

5、添加/修改配置文件

vim /data/mysql/conf/my.cnf

配置文件示例如下:

[client]
default-character-set=utf8[mysql]
default-character-set=utf8[mysqld]
init_connect='SET collection_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连接慢的问题
在配置文件中加入如下,并重启mysql
[mysqld]
skip-name-resolve
解释:
skip-name-resolve:跳过域名解析
设置自动启动

docker update mysql --restart=always

重启mysql容器

docker restart mysql

查看日志

docker logs -f --tail 1000 mysql

6、其他问题

在这里插入图片描述
如果启动容器后执行docker ps未发现容器,可执行docker logs -f --tail 1000 mysql查看日志,如上问题时,先去掉配置文件的映射启动容器

docker run -p 33060:3306 --name mysql \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
--privileged=true \
-e MYSQL_ROOT_PASSWORD='123456' \
-d mysql:5.7

容器启动正常后将容器的配置文件复制到主机对应目录

docker cp mysql:/etc/my.cnf /data/mysql/conf/my.cnf

再删除掉容器

# 注意这里是强制删除
docker rm --force mysql
# 下面是正常删除流程,先停止再删除
docker stop mysql
docker rm mysql

最后再重新启动mysql容器

docker run -p 33060:3306 --name mysql \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf/my.cnf:/etc/my.cnf \
--privileged=true \
-e MYSQL_ROOT_PASSWORD='123456' \
-d mysql:5.7
http://www.lryc.cn/news/505078.html

相关文章:

  • 安卓 文件管理相关功能记录
  • GB28181系列三:GB28181流媒体服务器ZLMediaKit
  • ScottPlot学习的常用笔记
  • 二、mapbox-gl实现白膜立体建筑
  • mybatisplus 分库查询
  • 计算属性 (vue3)
  • RabbitMQ 安装、配置和使用介绍 使用前端js直接调用方式
  • 电脑显示器选购指南2024
  • vue2中如何实现自定义指令
  • QT从入门到精通(一)——Qlabel介绍与使用
  • 【jpa】springboot使用jpa示例
  • Python Flask Web框架快速入门
  • ansible自动化运维(五)roles角色管理
  • 前端学习一
  • 【OSS】php使用oss存储
  • UE5 C+、C++、C# 构造方法区别示例
  • leetcode-146.LRU缓存(易理解)
  • JavaSe部分总结
  • iPhone批量删除照片的方法
  • 红日靶场vulnstack 7靶机的测试报告[细节](一)
  • ubuntu+ros新手笔记(二):古月·ROS2入门21讲学习笔记
  • Harmonyos之深浅模式适配
  • 牛客网 SQL2查询多列
  • Angular由一个bug说起之十二:网页页面持续占用CPU过高
  • 【从零开始入门unity游戏开发之——C#篇05】转义字符、@处理多行文本或者不使用转义字符、随机数
  • 我们来对接蓝凌OA --报文格式
  • 旅游系统旅游小程序PHP+Uniapp
  • Pytest-Bdd-Playwright 系列教程(15):背景(Background)
  • ionic V6 安装ios所需
  • 3d模型展示-初探