MySQL容器部署步骤

1、拉取MySQL镜像

bash 复制代码
docker pull mysql # 默认拉取最新版本

docker pull mysql:5.7 # 拉取5.7版本

docker pull mysql:8.0 # 拉取8.0版本

2、创建挂载目录

bash 复制代码
# 创建挂载目录  
mkdir -p /home/mysql/conf/  # -p: 多级创建

mkdir -p /home/mysql/log/

mkdir -p /home/mysql/data/

3、创建配置文件

bash 复制代码
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、启动容器

bash 复制代码
# 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等)才能连接。

相关推荐
drebander6 小时前
MyBatis-Plus saveBatch 在异步线程中事务未提交问题排查与修复
数据库·mybatis
计算机小手6 小时前
内网穿透系列十六:使用 wg-easy 快速搭建基于 wireguard 的虚拟局域网,支持Docker部署
经验分享·网络协议·docker·开源软件
旧日之血_Hayter6 小时前
docker部署项目,/var/lib/docker/overlay2目录满了如何清理?
运维·docker·容器
论迹6 小时前
【Redis】-- key的过期策略
数据库·redis·缓存
weixin199701080166 小时前
废旧物资 item_search - 按关键字搜索商品列表接口对接全攻略:从入门到精通
数据库·python
q_19132846956 小时前
基于Springboo和vue开发的企业批量排班系统人脸识别考勤打卡系统
前端·javascript·vue.js·spring boot·mysql·毕业设计·人脸识别
l1t6 小时前
快速加载CSV文件到数据库的工具pg_csv_loader
数据库·算法
文言一心6 小时前
基于 Docker + Docker Compose 实现一键部署(单节点部署场景下轻量、易维护、可一键启停)
运维·docker·容器
无忧智库6 小时前
深度拆解:某大型医院“十五五”智慧医院建设方案,如何冲刺互联互通五级乙等?(附技术架构与实施路径)
java·数据库·架构
moxiaoran57536 小时前
Java使用Redis ZSet恢复用户能量
数据库·redis·哈希算法