在 Docker 中配置 MySQL 数据库并初始化 Project 项目
1. 文件准备
1.1. 添加 SQL 文件头部内容
每个 SQL 文件的头部需要添加以下内容:
DROP DATABASE IF EXISTS xx_..;
CREATE DATABASE xx_..;
USE xx_..;
1.2. 修改 AUTO_INCREMENT
在每个 SQL 文件中,将 AUTO_INCREMENT 修改为 1。
1.3. 插入机型
在 SQL 文件中插入机型相关数据。
1.4. 插入管理员
在 SQL 文件中插入管理员相关数据。
1.5. 创建目录结构
创建目录 /project/mysql 以及 /project/mysql_data。
1.6. 拷贝 SQL 文件
将准备好的 SQL 文件复制到 /project/mysql 目录。
1.7. 创建 init.sql
新建 init.sql 文件,内容如下:
-- 创建数据库
CREATE DATABASE IF NOT EXISTS xxproject;
USE xxproject;-- 导入其他 SQL 文件
SOURCE /docker-entrypoint-initdb.d/xx_user.sql;
SOURCE /docker-entrypoint-initdb.d/xx_meteorology.sql;
SOURCE /docker-entrypoint-initdb.d/xx_turbine.sql;
SOURCE /docker-entrypoint-initdb.d/xx_geography.sql;
SOURCE /docker-entrypoint-initdb.d/xx_project.sql;
SOURCE /docker-entrypoint-initdb.d/xx_comprehensive.sql;
SOURCE /docker-entrypoint-initdb.d/xx_optimize.sql;-- 授予用户权限
GRANT ALL PRIVILEGES ON *.* TO 'userx'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
将 init.sql 放到 /project/mysql 目录。
2. 启动容器
使用以下命令启动 MySQL 容器:
docker run -d \
--name project_db \
--network project_net \
--ip 10.100.1.3 \
--restart always \
-e MYSQL_ROOT_PASSWORD=123456789 \
-e MYSQL_DATABASE=userxproject \
-e MYSQL_USER=userx \
-e MYSQL_PASSWORD=123456789 \
-v /project/mysql:/docker-entrypoint-initdb.d \
-v /project/mysql_data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime:ro \
-p 9003:3306 \
mysql:latest
3. 查看容器
使用以下命令查看容器信息:
查看网络:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' project_db
登录 MySQL 容器(管理员):
docker exec -it project_db mysql -u root -p
登录 MySQL 容器(用户):
docker exec -it project_db mysql -h 10.100.1.3 -u userx -p
在 MySQL 容器中执行以下命令:
sql
Copy code
SHOW DATABASES;
USE xx_user;
SHOW TABLES;
SELECT * FROM user;
4. 重启数据库
若需要重启数据库,执行以下命令:
docker restart project_db
这样,您就完成了在 Docker 中配置 MySQL 数据库并初始化 Project 项目的过程。确保您了解每个步骤的含义,并根据实际情况进行适当的调整。希望这篇博客对您有所帮助!
相关文章:
在 Docker 中配置 MySQL 数据库并初始化 Project 项目
1. 文件准备 1.1. 添加 SQL 文件头部内容 每个 SQL 文件的头部需要添加以下内容: DROP DATABASE IF EXISTS xx_..; CREATE DATABASE xx_..; USE xx_..;1.2. 修改 AUTO_INCREMENT 在每个 SQL 文件中,将 AUTO_INCREMENT 修改为 1。 1.3. 插入机型 在 SQL…...

生活中的物理3——神奇陷阱(随机倒下的抽屉柜门)
1实验 材料:大自然(风)、抽屉门松掉的抽屉 实验 1、找一个大风的日子,打开窗户(不要找下雨天,不然你会被你亲爱的嫲嫲KO) 2、让风在抽屉面前刮过 3、你发现了什么??&…...

数模学习day08-拟合算法
这里拟合算法可以和差值算法对比 引入 插值和拟合的区别 与插值问题不同,在拟合问题中不需要曲线一定经过给定的点。拟 合问题的目标是寻求一个函数(曲线),使得该曲线在某种准则下与所 有的数据点最为接近,即曲线拟…...

第13课 利用openCV检测物体是否运动了
FFmpeg与openCV绝对是绝配。前面我们已经基本熟悉了FFmpeg的工作流程,这一章我们重点来看看openCV。 在前面,我们已经使用openCV打开过摄像头并在MFC中显示图像,但openCV能做的要远超你的想像,比如可以用它来实现人脸检测、车牌识…...

C#之反编译之路(一)
本文将介绍微软反编译神器dnSpy的使用方法 c#反编译之路(一) dnSpy.exe区分64位和32位,所以32位的程序,就用32位的反编译工具打开,64位的程序,就用64位的反编译工具打开(个人觉得32位的程序偏多,如果不知道是32位还是64位,就先用32位的打开试试) 目前只接触到wpf和winform的桌…...

使用CentOS 7.6搭建HTTP隧道代理服务器
在现代网络环境中,HTTP隧道代理服务器因其灵活性和安全性而受到广泛关注。CentOS 7.6,作为一个稳定且功能强大的Linux发行版,为搭建此类服务器提供了坚实的基础。 首先,我们需要明确HTTP隧道代理的基本原理。HTTP隧道代理允许客户…...

Swift爬虫使用代理IP采集唯品会商品详情
目录 一、准备工作 二、代理IP的选择与使用 三、使用Swift编写唯品会商品爬虫 四、数据解析与处理 五、注意事项与优化建议 六、总结 一、准备工作 在开始编写爬虫之前,需要准备一些工具和库,以确保数据抓取的顺利进行。以下是所需的工具和库&…...

高性价比LDR6028Type-C转3.5mm音频和PD快充转接器
随着市面上的大部分手机逐渐取消了3.5mm音频耳机接口,仅保留一个Type-C接口,追求音质和零延迟的用户面临着一大痛点。对于这些用户,Type-C转3.5mm接口线的出现无疑是一大福音。这款线材在刚推出时就受到了手机配件市场的热烈欢迎,…...

【Docker】docker 服务相关命令
目录 1. 启动docker 服务 2.查看docker 服务的状态 3. 停止docker 服务 4.重启 docker 服务 5.开机自启动命令 1. 启动docker 服务 systemctl start docker 2.查看docker 服务的状态 systemctl status docker 3. 停止docker 服务 systemctl stop docker 此时再使用 syst…...
基于SpringBoot的在线问卷调查系统
文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的在线问卷调查系统,java…...

智能分析网关V4太阳能风光互补远程视频智能监控方案
一、背景需求 在一些偏远地区,也具有视频监控的需求。但是这类场景中,一般无法就近获取市电,如果要长距离拉取市电,建设的成本非常高且长距离传输有安全隐患,因此风光互补远程视频监控方案的需求也较多。利用风光电转化…...

250:vue+openlayers 加载geotiff文件,并在地图上显示
第250个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中加载geotiff文件,并在地图上显示。这里使用到了WebGLTile图层和GeoTIFF脚本模块。这里一定要注意GeoTIFF的数据加载方式,要数组的模式。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现…...

【JavaEE】多线程(7) -- 线程池的概念和简单实现
目录 1.线程池是什么 2.标准库中的线程池 2.1ThreadPoolExecutor 2.2构造方法参数介绍 2.3拒绝策略(面试易考) 2.4Executor的使用 3.实现线程池 1.线程池是什么 线程池是一种用来管理线程的机制,它可以有效地控制线程的创建、复用和销毁,从而提高程…...

集合基础知识点
集合基础 1. 集合的由来 当 Java 程序中需要存放数据的时候,通常会定义变量来实现数据的存储,但是,当需要存储大量数据的时候该怎么办呢?这时首先想到的是数组,但是!数组只能存放同一类型的数据ÿ…...

最新版付费进群系统源码 /同城定位付费进群源码 /自带定位完整版/后台分销站点
源码介绍: 最新版付费进群系统源码 ,它是同城定位付费进群源码,而且自带定位完整版和后台分销站点。 看到有些人分享一些虚假的内容或者缺少文件的内容。现在分享完整给大家,功能是完整的。它是同城定位付费进群源码。 功能&am…...

【论文阅读笔记】医学多模态新数据集-Large-scale Long-tailed Disease Diagnosis on Radiology Images
这是复旦大学2023.12.28开放出来的数据集和论文,感觉很宝藏,稍微将阅读过程记录一下。 Zheng Q, Zhao W, Wu C, et al. Large-scale Long-tailed Disease Diagnosis on Radiology Images[J]. arXiv preprint arXiv:2312.16151, 2023. 项目主页…...
(C语言)指针的进阶
1.指针就是个变量,用来存放地址,地址唯一标识一块内存空间。 2.指针的大小是固定的4/8个字节(32位平台/64位平台)。 3.指针是有类型,指针的类型决定了指针的-整数的步长,指针解引用操作的时候的权限。 4.指针的运算。 一、关于两…...

【网络面试(5)】收发数据及断开服务器(四次挥手)
前面了解到服务器和客户端在创建套接字,建立连接后,就可以进入到下一步,双发可以互相发送和接收数据,本篇博客就来学习一下这个过程。 我们印象里,发送数据应该是我们在浏览器输入网址,敲击回车的一瞬间&…...

【Maven】下载及配置
文章目录 1. 定义2. 下载3. 解压4. 配置环境变量5. 验证6. 特性 1. 定义 Maven 是一个跨平台的项目管理工具。作为 Apache 组织的一个颇为成功的开源项目,其主要服务于基于 Java 平台的项目创建,依赖管理和项目信息管理,是一个自动化构建工具…...

【方法】PPT设置密码后如何修改?
PowerPoint是我们日常和工作中经常用到的办公软件,有时候为了保护文件,还会设置密码,那设置密码后又想要修改密码,怎么操作呢?下面来看看PPT常用的两种密码是如何修改的。 1. “打开密码” 想要修改PPT的“打开密码”…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...

Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...