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

Docker中安装MySQL 5的详细过程

1. docker下载mysql 安装包

docker pull mysql:5.7.32

2. 查看已下载的镜像

docker images

3. 创建本地数据库目录、配置文件以及日志目录(方便进行容器数据卷挂载)


因为mysql容器一旦销毁,数据库也就随之销毁,为了解决这个问题,docker官方提出了容器数据卷技术,就是在宿主机上新建一些目录与容器内的目录映射,当容器销毁时,宿主机上的目录文件不会消失,依然存在.

# 建立宿主机数据库目录
mkdir -p mysql/datadir# 建立宿主机数据库配置文件
mkdir mysql/conf# 建立宿主机数据库日志目录
mkdir mysql/log

注:我这个是在我项目目录下创建的。

4. 启动容器

docker run --name lmhmysql -p 3306:3306 -v /data/lmh/lmh/KG/mysql/datadir:/var/lib/mysql -v /data/lmh/lmh/KG/mysql/conf:/etc/mysql/conf.d -v /data/lmh/lmh/KG/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.32

参数解释:
-p 3306:3306  端口映射,将宿主机3306端口与容器3306端口做映射,这样就可以通过宿主机IP+端口访问容器的3306端口了 格式:-p 宿主机端口:容器端口

–name lmhmysql 指定容器名字为lmhmysql

-v mysql/datadir:/var/lib/mysql:对宿主机数据库目录与容器数据库目录进行映射挂载

-v mysql/conf:/etc/mysql/conf.d:对宿主机数据库配置文件与容器数据库配置文件进行映射挂载

-v mysql/logs:/var/log/mysql:对宿主机数据库日志与容器数据库日志进行映射挂载

-e MYSQL_ROOT_PASSWORD=123456 配置mysql的root账号的密码为123456(可以根据需要自行修改密码)

-d:后台执行 mysql:5.7.32 :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id

注: 此时报错可能是因为:

① 3306端口号已被占用。此时可以先将容器名删除,然后换个端口号。

docker: Error response from daemon: driver failed programming external connectivity on endpoint mysql (ba8f04eadcc4d8f3ef026f37d2e029980edf51f2ecc7d0f3e4913550e9a23d2e): Bind for 0.0.0.0:3306 failed: port is already allocated.

删除容器命令如下:

docker rm 容器名

换端口号:

docker run --name lmhmysql -p 3316:3306 -v /data/lmh/lmh/KG/mysql/datadir:/var/lib/mysql -v /data/lmh/lmh/KG/mysql/conf:/etc/mysql/conf.d -v /data/lmh/lmh/KG/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.32

② 容器名已存在。

docker: Error response from daemon: Conflict. The container name "/mysql" is already in use by container "317e17b8b0c6827bb15502e71960851826f752cf134aaa892c8f45a207eSee 'docker run --help'.

删除容器命令如下:

docker rm 容器名

5. 进入容器测试Mysql

进入MySQL容器:

docker exec -it lmhmysql bash

进入容器后,可以通过以下命令连接MySQL:

mysql -u root -p

输入密码root后,即可成功连接MySQL。

6.  设置远程连接权限

可以通过以下SQL语句设置权限:

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

注:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%':允许root用户从任意IP地址访问MySQL。

IDENTIFIED BY '123456':设置root用户的密码为123456

WITH GRANT OPTION:允许root用户授予其他用户权限。

刷新权限以使更改生效:

FLUSH PRIVILEGES;

7. 打开navicat,连接该服务器。导入excel文件。

以上便是所有部署的步骤,欢迎关注~ 后续也会更新一些其他实践过程中遇到的问题!

http://www.dtcms.com/a/326179.html

相关文章:

  • 算法讲解--水果成篮
  • GitHub的简单使用方法----(2)
  • Android中Activity销毁底层原理
  • AVS Video Converter视频转换与编辑工具深度评测
  • 基于OpenCV的实时美颜技术:从传统算法到深度学习融合实现
  • 光功率dBm为何是负数?一文详解
  • Effective C++ 条款35:考虑 virtual函数以外的其他选择
  • Spring源码解析 - SpringApplication run流程-prepareContext源码分析
  • MD5:理解MD5 / MD5核心特性 / MD5 在前端开发中的常见用途 / 在线生成MD5 / js-md5
  • Linux Docker 运行SQL Server
  • loading效果实现原理
  • Elasticsearch Node.js 客户端的安装
  • 第六十一章:AI 模型的“视频加速术”:Wan视频扩散模型优化
  • 简单清晰的讲解一下RNN神经网络
  • HarmonyOS 开发入门 第一章
  • 力扣面试150题--阶乘后的零,Pow(x,n)直线上最多的点
  • Win10电脑密码忘记如何进入操作系统
  • 基于AS32S601芯片的商业卫星光纤放大器(EDFA)抗单粒子效应解决方案研究
  • 前端组件库双雄对决:Bootstrap vs Element UI 完全指南
  • Speech Databases of Typical Children and Children with SLI 数据集解读
  • 飞轮储能和超级电容综合对比分析
  • LintCode第1181题-二叉树的直径
  • VBA即用型代码手册:计算选择的单词数Count Words in Selection
  • (Arxiv-2025)Phantom-Data:迈向通用的主体一致性视频生成数据集
  • MathType关联Wps实现公式编辑【Tex语法适配】
  • 使用行为树控制机器人(一) —— 节点
  • 【C++语法】输出的设置 iomanip 与 std::ios 中的流操纵符
  • 金蝶云星辰模拟报价功能助力企业快速决策
  • CV 医学影像分类、分割、目标检测,之分类项目拆解
  • Nginx(企业高性能web服务器)