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

MySQL容器部署步骤

1、拉取MySQL镜像

docker pull mysql # 默认拉取最新版本docker pull mysql:5.7 # 拉取5.7版本docker pull mysql:8.0 # 拉取8.0版本

2、创建挂载目录

# 创建挂载目录  
mkdir -p /home/mysql/conf/  # -p: 多级创建mkdir -p /home/mysql/log/mkdir -p /home/mysql/data/

3、创建配置文件

vim -p /home/mysql/conf/my.cnf  # my.cnf为MySQL配置文件# 配置文件内容如下:[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
default-time_zone='+8:00'
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

4、启动容器

# MySQL5.7的容器启动方式docker run \
--name my-mysql \
--restart=always \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /home/mysql/log/:/var/log/ \
-v /home/mysql/data/:/var/lib/mysql/ \
-d \
mysql:5.7 \# MySQL8.0的容器启动方式:docker run \
--name my-mysql \
--restart=always \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /home/mysql/log/:/var/log/ \
-v /home/mysql/data/:/var/lib/mysql/ \
-d \
mysql:8.0 \
--default-authentication-plugin=mysql_native_password
  • --name my-mysql:容器名称,指定容器的名称为my-mysql
  • --restart=always:设置该容器开机自启
  • -e MYSQL_ROOT_PASSWORD=123456:环境配置,指定root用户密码为123456
  • -p 3306:3306:端口映射,第一个3306指的是宿主机端口,第一个3306指的是容器端口
  • -v:数据卷挂载,将mysql内部文件同步到Linux的文件中
  • -d:后台运行
  • mysql:5.7:镜像名,基于镜像常见容器

注意:MySQL 5.7和MySQL 8的容器部署步骤差不多,但要注意MySQL 8在启动容器时的密码加密方式的修改,即添加:--default-authentication-plugin=mysql_native_password。这样用远程工具(如FinalShell等)才能连接。

http://www.lryc.cn/news/377200.html

相关文章:

  • 在 Ubuntu 18.04.4 LTS上安装 netmap
  • spark 整合 yarn
  • 蓝桥杯十五届国赛模拟题1答案
  • 分布式之日志系统平台ELK
  • git常见错误
  • 构建稳定高效的消息传递中间件:消息队列系统的设计与实现
  • 支持 MKV、MP4、AVI、MPG 等格式视频转码器
  • yum
  • 【单片机毕业设计选题24016】-基于STM32和阿里云的采空区环境监测系统设计
  • Leetcode3179. K 秒后第 N 个元素的值
  • vue3第二阶段的开发文档
  • 【网络安全学习】漏洞扫描:- 02- nmap漏洞扫描
  • Web开发技能树-HTML-class/id/name/tag
  • 据APO Research(阿谱尔)统计,2023年全球乳酸企业产能约119.3万吨
  • 百度文心智能体平台(想象即现实):轻松上手,开启智能新时代!创建属于自己的智能体应用。
  • Linux中ls -lsa 和ls -lst区别
  • TDengine 签约上海晶澳太阳能,助力储能业务平台搭建
  • 【数据结构】选择题
  • 数据库 |试卷八试卷九试卷十
  • 【华为HCIA数通网络工程师真题-构建互联互通的IP网络】
  • Kafka 负载均衡挑战及解决思路
  • 【Java面试】二十一、JVM篇(中):垃圾回收相关
  • 深入理解预处理
  • DSP28335:定时器
  • 系统架构理解
  • uni-app页面的跳转三种方式,功能作用有什么区别?
  • React 通信:深层传递(Props、Context、Children Jsx)
  • 《Windows API每日一练》5.1 键盘基础
  • Class.forName()方法总结
  • Python | Leetcode Python题解之第168题Excel表列名称