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

MYSQL数据库突然消失

之前在下载mysql时发现没有my.ini。考虑到后面的项目可能需要,看着教程自己创建了一次,当时就发生了所有数据库消失的问题,近几天这种事件又发生了。我在服务里看到我有mysql和mysql57两个服务,启动一个的时候另一个就无法启动,发现有的数据库在mysql57里。mysql57是网络登录 mysql是本地系统。

1 my.ini没有配置文件的原因 

之前一直以为配置文件是在MYSQL下载的文件地址里,今天在排错时发现是在ProgramData存放数据的MYSQL文件里

2 新建my.ini后数据库消失的问题:

可能是因为MySQL的配置文件(my.ini或my.cnf)中的datadir参数指向了错误的目录。当手动创建my.ini时,如果没有正确设置datadir,MySQL可能会使用默认的数据目录,而这个目录可能没有之前的数据库文件,导致数据库“消失”了。 

3 mysql和mysql57问题

启动一个服务时,另一个无法启动,这可能是因为两个服务都试图监听相同的端口(默认3306),导致端口冲突。此外,每个服务可能使用不同的数据目录和配置文件,因此启动不同的服务会加载不同的数据库实例。

解决方案:

1. 确认服务配置信息

查看服务属性

  • 打开「服务」管理器,右键点击 MySQL57 和 MySQL 服务,选择「属性」。

  • 记录两者的「可执行文件路径」,找到 --defaults-file(配置文件路径)和 --datadir(数据目录路径)。

2. 停止并禁用冗余服务

保留一个服务

  • 以管理员身份运行CMD,停止并删除另一个服务:

sc stop MySQL  # 停止服务
sc delete MySQL  # 删除服务(谨慎操作!)

3. 统一配置文件与数据目录

检查 my.ini 配置

  • 打开保留服务的配置文件。

  • 确认以下关键参数:

[mysqld]
datadir=D:/MySQL/Data  # 确保指向实际数据目录
port=3306              # 避免端口冲突

4. 解决端口冲突

修改端口号

  • 如果需同时运行两个服务,编辑其中一个的 my.ini,修改端口:

[mysqld]
port=3307

最后重启。

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

相关文章:

  • C语言:文件操作
  • 谷歌 NotebookLM 支持生成中文播客
  • 【项目篇之统一硬盘操作】仿照RabbitMQ模拟实现消息队列
  • 【SQL触发器、事务、锁的概念和应用】
  • 计算机网络:详解TCP协议(四次握手三次挥手)
  • Free Draft Model!Lookahead Decoding加速大语言模型解码新路径
  • 主机电路安全防护系统哪个厂家做
  • 2025年01月03日美蜥(杭州普瑞兼职)一面
  • 递归下降算法
  • ART 下 Dex 加载流程源码分析 和 通用脱壳点
  • Linux 进程基础(二):操作系统
  • Python:Seaborn 美化图表的技术指南
  • Rockermq的部署与使用(0-1)
  • Lesson 16 A polite request
  • Assetto Corsa 神力科莎 [DLC 解锁] [Steam] [Windows]
  • Java--0基础入门篇
  • 修复笔记:SkyReels-V2 项目中的 torch.cuda.amp.autocast 警告和错误
  • SpringMVC——第三章:获取请求数据
  • C++学习:六个月从基础到就业——C++11/14:lambda表达式
  • 《“昊龙一号”:开启中国航天货运新时代》
  • Cognito
  • QT项目----电子相册(6)----总结
  • C++名称空间
  • 介词:连接名词与句子其他成分的桥梁
  • VSCode通过SSH连接VMware虚拟机
  • JAVA---多态
  • 48变现干货:分销裂变方式提高销量
  • Go语言chan底层原理
  • 前端小练习————表白墙+猜数字小游戏
  • Python Cookbook-6.19 调用超类的__init__方法