docker 部署mysql 指导

server/2024/11/28 3:52:46/

使用Docker部署MySQL是一个相对简单但需要注意细节的过程。以下是一个详细的指导步骤:

一、前期准备
检查系统环境:
确保你的操作系统支持Docker。
检查Docker版本,确保它是最新版本或至少是一个稳定的版本。
检查Docker服务是否正在运行。
拉取MySQL镜像:
打开你的终端或命令行界面。
使用Docker命令拉取MySQL镜像,例如:docker pull mysql:8.0.33(版本号可以根据需要选择)。
二、创建必要的目录和配置文件
创建目录:
在你的宿主机上创建一个用于存放MySQL数据和配置文件的目录,例如:/data/mysql/{conf,log,data}。
创建配置文件:
在conf目录下创建一个名为my.cnf的配置文件,并根据你的需求进行配置。以下是一个示例配置:

[client]
port=3306
default-character-set=utf8mb4[mysql]
default-character-set=utf8mb4[mysqld]
port=3306
max_connect_errors=100
default-storage-engine=INNODB
lower_case_table_names=1
interactive_timeout=1800
wait_timeout=1800
tmp_table_size=64M
max_heap_table_size=64M
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
init_connect='SET collation_connection = utf8mb4_general_ci'
init_connect='SET NAMES utf8mb4'
authentication_policy=mysql_native_password
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
skip-character-set-client-handshake
skip-name-resolve

根据你的实际需求,你可以调整这些配置参数。
三、创建并运行MySQL容器
运行MySQL容器:
使用Docker命令创建并运行MySQL容器,例如:

docker run -p 3306:3306 --name mysql \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-e TZ=Asia/Shanghai --restart=always \
-e MYSQL_ROOT_PASSWORD=your_password \
-d mysql:8.0.33

在这个命令中:
-p 3306:3306:将宿主机的3306端口映射到容器的3306端口。
–name mysql:为容器指定一个名称。
-v:挂载宿主机的目录到容器内的指定目录。
-e TZ=Asia/Shanghai:设置容器的时区为东八区。
–restart=always:确保容器在Docker重启后自动启动。
-e MYSQL_ROOT_PASSWORD=your_password:设置MySQL的root用户密码。
-d:让容器在后台运行。
四、验证和连接MySQL容器
查看容器日志:
使用Docker命令查看MySQL容器的日志,以确保它已成功启动并运行。例如:docker logs -f mysql
连接MySQL容器:
使用你的MySQL客户端工具(如MySQL Workbench、命令行客户端等)连接到MySQL容器。
填写连接信息(如主机名、端口、用户名和密码)并测试连接。
五、注意事项
数据持久化:
确保你将MySQL的数据存储在宿主机的目录中,以便在容器删除或重新创建时不丢失数据。
安全设置:
设置强密码并限制访问权限,以防止未经授权的访问。
考虑使用防火墙和其他安全措施来保护你的MySQL容器。
版本选择:
根据你的实际需求选择适合的MySQL版本,避免使用过旧或不稳定的版本。
备份和恢复:
定期备份你的MySQL数据,并熟悉如何恢复数据以防万一。
通过以上步骤,你应该能够成功地使用Docker部署MySQL数据库。如果在过程中遇到任何问题,可以参考Docker和MySQL的官方文档或寻求社区的帮助。


http://www.ppmy.cn/server/145519.html

相关文章

英雄联盟游戏使用生存分析预测玩家流失

1 引言 在过去的十年中,电子竞技(esports)已经成为一种受玩家和观众欢迎的形式,促进了一个庞大的行业和一个不断发展的研究领域 [19, 21, 25, 28, 37, 38]。虽然很难估计电子竞技市场的规模,但Superdata Research预测…

Ubuntu20.04下配置Cuda12.1+Cudnn

文中使用的是cuda_12.1.0_530.30.02_linux.run、cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb 1、Cuda安装 使用以下命令运行安装Cuda,随后跳出图中的选择。 sudo bash cuda_12.1.0_530.30.02_linux.run因为安装过NVIDIA驱动了,所以将第一个D…

【SQL Server】华中农业大学空间数据库实验报告 实验四 完整性约束

1.实验目的 通过理论课的学习与实验指导书的帮助,在实验课操作的基础上进一步理解数据库中,实现数据完整性的概念及实施数据完整性的重要性,同时掌握数据完整性的分类,体会数据完整性约束的作用,加深对数据完整性及其…

IDEA插件CamelCase,快速转变命名格式

在IDEA上大小写转换的快捷键是 CtrlshitU 其它的格式转换的快捷键是 shitaltu 安装方法: file-settings-plugins-在marketplace搜索“CamelCase”-点击安装。 安装成功设置后,重新打开idea 下载完成后 点击 Apply 和OK 此刻就可以选中命名 并使用快捷…

CSDN 博客自动发布脚本(Python 含自动登录、定时发布)

文章目录 关于 csdn auto publisher使用 关于 csdn auto publisher 源码地址:https://github.com/ezscode/csdn_auto_publisher 使用 def test_simple_pub():file_path /Users/xx/Documents/xxx/tool.md article Article(file_path) article.tags [python] art…

基于机器视觉的表面缺陷检测

基于机器视觉的表面缺陷检测存在的问题与难点 - AVT相机|AVT红外相机|万兆网相机EVT|VIEWORKS线扫相|映美精相机|Specim多光谱相机|Adimec相机|Basler相机|富士能FUJINON镜头|理光RICOH镜头|OPTO远心镜头|SPO远心镜头|Navtar镜头|VST镜头|CCS光源|3D视觉引导机床上下料系统 (完…

LeetCode 4.寻找两个中序数组的中位数

力扣 4. 寻找两个正序数组的中位数 思路: 二分查找标记位计算中位数 细节: if (nums1.size() > nums2.size())return findMedianSortedArrays(nums2, nums1); 首先比较两个数组的大小,确保后续 nums1 的长度总是小于等于 nums2 的长度 …

基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 MATLAB2022A 3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频&#xff09…