Mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止

Mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止

文章目录

  • `Mysql`启动报错:本地计算机上的`mysql`服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止
    • 1. 备份`mysql`的`data`文件夹
    • 2. 重新构建 `Windows`的`Mysql` 服务
      • 2.1 管理员权限进入`CMD`
      • 2.2 删除 `Mysql` 服务
    • 3. 不指定配置文件导致的后果
      • 3.1 新创建了`Mysql`服务
      • 3.2 新建用户
      • 3.3 无法生效配置文件
    • 4. 总结
    • 5. 参考博客

背景:在修改了 my.ini 配置之后,重启 WindowsMysql 服务后,遇到的mysql启动报错。

1. 备份mysqldata文件夹

Tips: 如果你是选择默认安装,一般 Mysqldata 文件夹路径在 C:\ProgramData\MySQL\MySQL Server 8.0\Data

  • Mysql 默认安装时,会有两个关键路径 (C:\ProgramData\MySQL\MySQL Server 8.0C:\Program Files\MySQL\MySQL Server 8.0)
  • 这两个路径 前者是 数据库数据,配置文件,数据库日志Mysql 核心数据存储地,后者是 Mysql 软件本身,即提供服务的程序。
  • 如果你不想要丢失核心数据,请一定要备份好 data 文件夹

如果你没有做好 mysql data 文件夹备份操作,请不要执行以下操作

2. 重新构建 WindowsMysql 服务

2.1 管理员权限进入CMD

Step-1:Win + s ,输入cmd

在这里插入图片描述

Step-2:右键 命令提示符,选择以管理员身份运行

在这里插入图片描述

Step-3: 检验是否是以 C:\Windows\system32> 开头,如果是,则说明以管理员权限身份运行打开成功

在这里插入图片描述

2.2 删除 Mysql 服务

Step-1: 删除 MySQL 服务

$ mysqld --remove mysql

在这里插入图片描述

Step-2: 重新安装 Mysql服务,并指定配置文件路径

$ mysqld --install MySQL80 --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini"

Step-3:如果出现重复提示可以在 Windows中注销该服务

重复提示

在这里插入图片描述

删除服务

$ sc delete mysql

在这里插入图片描述

Step-4: 再次执行重新安装 Mysql服务,并指定配置文件路径

得到结果

在这里插入图片描述

Step-5:win + s 输入 服务

在这里插入图片描述

Step-6: 找到刚刚注册的 MySQL81服务

在这里插入图片描述

现在你就可以随意启动这个服务了,他继承了之前数据库的一切配置,此时,打开 navicat 进行连接,一切数据还在。

在这里插入图片描述

检查配置文件路径

$ SELECT variable_path,COUNT(*) FROM performance_schema.variables_info WHERE variable_path<>''  GROUP BY variable_path;

在这里插入图片描述

好!是想要的配置文件路径,没跑了!

3. 不指定配置文件导致的后果

Tips: 以下篇幅都是在记录坑点,或许你有一天也会遇到,希望本博客能够给你带来思路的启迪;

3.1 新创建了Mysql服务

​ 如果你执行了如下操作:

在这里插入图片描述

Tips:初看没有什么问题,Windows 会告诉你正确的结果,但是 Mysql 会给你在路径 C:\Program Files\MySQL\MySQL Server 8.0 下,建立一个 data 文件夹

在这里插入图片描述

​ 这相当于新建了一个 MySQL 的数据存放地址,也就意味着,你之前工作过的数据库和表找不到了,这是一个全新的数据库,不得不说,这是一个沮丧的事情,但是更加糟糕的还不在于此。

3.2 新建用户

​ 这时,你进入MySQL数据库输入以下指令

$ mysql -uroot -p

​ 系统提示你输入密码,你会发现,你之前保存的密码已经不见了,这个时候相当于一个新的用户,你可以直接不输入密码按Enter即可进入;

​ 但是使用第三方软件时,必须要求数据库有密码,会出现 Access denied for user 'root'@'localhost' (using password:YES) 报错,于是我们必须设置 MySQL 密码。

$ set passeord for root@localhost=password('root'); (MySQL 5.7 可以用)

​ 如果你是 8.0 版本及以上用户,会提示报错 ERROR 1064 (42000) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘password(‘root’)’ at line 1,可以使用以下指令解决问题。

$ ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

​ 刷新权限(注意结尾有分号),然后回车。

$ flush privileges; 

​ 测试是否成功:输入之前第一步输入过的 mysql -uroot -p,并回车,这个时候一样会要求我们输入密码,接下来我们输入 刚刚设置好的密码,并回车,出现下图结果即为成功。

在这里插入图片描述

Tips: 这个时候你很疑惑,为什么这个流程像是 Mysql卸载了重装??但是这个好像比重装更加糟糕,接下来的篇章你会看到问题所在。

3.3 无法生效配置文件

当你想要检查一下刚刚新建的用户使用的数据库文件路径的时候,最糟糕的事情来了,你无法让更改的 my.ini 配置文件生效。

使用指令

$ show variables like '%datadir%'

你会发现默认数据存储路径如下,但是我记得我以前的数据库存储路径在 C:\ProgramData\MySQL\MySQL Server 8.0,同时我的配置文件也在 C:\ProgramData\MySQL\MySQL Server 8.0 路径下。

在这里插入图片描述

这个时候,冲突发生了!

当你修改配置文件 my.ini 中的 datadir 想要重新自定义数据库存储路径时,保存后,重复上述指令,你会发现,你的修改没有变化!

在这里插入图片描述

这时应该意识到 是不是加载错误了 my.ini 配置文件?

使用指令 MySQL8.0 专用指令,如果是其他版本的 MySQL 建议百度搜索,如何检查MySQL加载的配置文件路径。

$ mysql> SELECT variable_path,COUNT(*) FROM performance_schema.variables_info WHERE variable_path<>''  GROUP BY variable_path;

你会得到

$ Empty set (0.00 sec)

这麻烦就大了,说明**你没有配置。。**这意味着你不知道他的默认值,无法修改配置文件,导致你几乎丧失权限。如果你是一个普通的开发者,只是想要完成任务,这可以忍受,如果你是一个专业的开发者,那么几乎完全无法忍受不能操作配置文件,这给程序带来了极大的不确定性。

如果是正常的,应该会得到如下正确示例

在这里插入图片描述

Tips: 无法修改配置文件意味着什么?

  • 意味着 MySQL的某些限制你无法修改,比如最短响应时间
  • 意味着你无法根据个人程序对MySQL 进行个人化改造

4. 总结

对于本次事件,我个人的感觉是 `Windows` 的某些服务损坏了,并不是 `Mysql` 的问题,但是`windows` 几乎能够让你找不出错误来,只能说看了很多解决方案,被坑了,不能简单的进行 `mysqld --initialize` 这个会坑死人的。

收获:

  • 至少收获了在 WindowsMysql 的配置路径区别
  • Windows 删除服务,注册服务
  • Mysql 数据库 data 文件夹重定向
  • Mysqlwindows 的配置检查

5. 参考博客

  1. 【解决】mysql本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止_本地计算机 上的 mysql 服务启动后停止。某些服务在未由其他服务或程序使用时将自-CSDN博客

  2. 完美解决MySQL ERROR:Access denied for user root@localhost (using password:YES)_access denied for user ‘root’@‘localhost’ (using p-CSDN博客

  3. 【完美解决】mysql启动不了:本地计算机上的MySQL服务启动后停止_本地计算机上的mysql服务启动后停止 某些-CSDN博客

  4. windows 本地安装的mysql 查找配置文件,my.cnf,my.ini位置的方法-CSDN博客

  5. mysql 数据文件夹 data 的设置与移动【windows | 实测】 - 知乎 (zhihu.com)

  6. 我无法在%ProgramData中找到我的MySQL文件夹%ProgramData% - VoidCC

  7. (7 封私信 / 80 条消息) 有没有大佬知道ProgramData文件里没有MySQL文件是怎么回事啊? - 知乎 (zhihu.com)

  8. 安装MySQL遇到的一下问题和细节_为什么program files和programdata中都有mysql-CSDN博客

  9. 关于修改MySQL数据存储路径,超详细!!!_更改mysql数据库存储位置-CSDN博客

  10. MySQL如何找到使用的是哪个配置文件?-腾讯云开发者社区-腾讯云 (tencent.com)

  11. 新特性解读 | MySQL 8.0 轻松改配置,云上友好 - MySQL分布式中间件DBLE - SegmentFault 思否

  12. Windows环境下手动启动、停止MySQL服务. 命令行启动、停止MySQL服务. 查找MySQL安装目录._启动与停止mysql的命令是是-CSDN博客)

  13. MySQL 服务正在启动 . MySQL 服务无法启动 服务没有报告任何错误 解决方案_mysql 服务正在启动 . mysql 服务无法启动。 服务没有报告任何错误。-CSDN博客

  14. 修改MySql8.0的数据库默认存储位置_mysql8.0 数据库指定数据库存放位置怎么设置-CSDN博客

  15. net start mysql MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。_net start mysql无法启动-CSDN博客

  16. 关于修改MySQL数据存储路径,超详细!!!_mysql_Wang_JR1229-GitCode 开源社区 (csdn.net)

  17. mysql 查找配置文件位置方法_查看mysql配置文件位置-CSDN博客

  18. mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止_本地计算机上的mysql服务启动后停止某些服务在未有其他服务或程序使用时将自动停止-CSDN博客

  19. 在 Windows 系统中删除「服务」的 4 种方法_windows卸载任务管理器的服务-CSDN博客

  20. windows server mysql错误1053 服务没有及时响应启动或控制请求_mob64ca12d5604e的技术博客_51CTO博客

  21. 如何解决本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止(如果你在网上找了方法都不行,可以试试这个)-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/599962.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亮数据----教你轻松获取数据

文章目录 1. 数据采集遇到的瓶颈1.1 不会造数据&#xff1f;1.2 不会写爬虫代码&#xff1f; 2.IP 代理基础知识2.1 基本概念2.2 作用和分类2.3 IP 代理的配置和使用2.4 安全和合规 3. 为何使用亮数据 IP 代理3.1 拥有丰富的代理网络服务3.2 简单易操作的采集工具3.3 拥有各平台…

QT软件开发: 点击鼠标在窗口里绘制矩形(窗口透明背景)

QT软件开发: 点击鼠标在窗口里绘制矩形(窗口透明背景)-腾讯云开发者社区-腾讯云 一、功能需求 一般在软件开发中&#xff0c;需要都有选择区域的需求&#xff0c;比如&#xff1a; 1. 截图软件&#xff0c;需要鼠标选择指定区域截图 2. 屏幕录像软件&#xff0c;需要鼠标选…

《C语言深度解剖》(2):详解C语言分支语句和循环

&#x1f921;博客主页&#xff1a;醉竺 &#x1f970;本文专栏&#xff1a;《C语言深度解剖》 &#x1f63b;欢迎关注&#xff1a;感谢大家的点赞评论关注&#xff0c;祝您学有所成&#xff01; ✨✨&#x1f49c;&#x1f49b;想要学习更多数据结构与算法点击专栏链接查看&am…

基于wsl的Ubuntu20.04上安装桌面环境

在子系统Ubuntu20.04上安装桌面环境 1. 更换软件源 由于Ubuntu默认的软件源在国外&#xff0c;有时候后可能会造成下载软件卡顿&#xff0c;这里我们更换为国内的阿里云源&#xff0c;其他国内源亦可。 双击打开Ubuntu20.04 LTS图标&#xff0c;在命令行中输入 # 备份原来的软…

ThinkPHP审计(2) Thinkphp反序列化链5.1.X原理分析从0编写POC

ThinkPHP审计(2) Thinkphp反序列化链子5.1.X原理分析&从0编写POC 文章目录 ThinkPHP审计(2) Thinkphp反序列化链子5.1.X原理分析&从0编写POC动态调试环境配置Thinkphp反序列化链5.1.X原理分析一.实现任意文件删除二.实现任意命令执行真正的难点 Thinkphp反序列化链5.1.…

软件测试_黑盒测试_等价类划分法

黑盒测试 等价类划分法 等价类划分法 一个程序可以有多个输入&#xff0c;等价类划分就是将这些输入数据按照输入需求进行分类&#xff0c;将它们划分为若干个子集&#xff0c;这些子集即为等价类&#xff0c;在每个等价类中选择有代表性的数据设计测试用例。 有效等价类&a…

什么是MQ ?为什么用MQ?

什么是MQ&#xff1f; MQ(message queue)&#xff08;消息队列&#xff09;&#xff0c;从字面意思上看&#xff0c;本质是个队列&#xff0c;FIFO先入先出&#xff0c;只不过队列中存放的内容是message而已&#xff0c;还是一种跨进程的通信机制&#xff0c;用于上下游传递消息…

2024/4/1—力扣—按摩师

代码实现&#xff1a; 思路&#xff1a;打家劫舍题 int massage(int *nums, int numsSize) {if (nums NULL || numsSize 0) {return 0;}if (numsSize 1) {return nums[0];}int dp[numsSize];memset(dp, 0, sizeof(dp));dp[0] nums[0];dp[1] (nums[0] < nums[1] ? nums…

Redis常见的一些问题和注意事项

本文汇总的都是在我们公司出现过的常见问题以及自己曾经记录的注意事项。 我们公司sentinel模式以及RedisCluster集群两种部署方式都有使用&#xff0c;下面问题有些可能是哨兵模式下存在的&#xff0c;比如批量操作&#xff0c;下面可能不会特别说明。 1、注意热点key 之前单位…

Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066

很奇怪的问题,在使用nifi的时候碰到的,这里是用NIFI,把数据从postgresql中同步到mysql中, 首先postgresql中的源表,中是没有create_time这个字段的,但是同步的过程中报错了. 报错的内容是说,目标表中有个create_time字段,这个字段是必填的,但是传过来的flowfile文件中,的数据没…

轻松驾驭工作流:低代码开发平台一键回退,流程错误无处遁形

流程回退规则配置 说明 通常业务场景&#xff0c;当我们流程节点开启回退功能后&#xff0c;可根据业务需求设置不同节点自定义回退到哪一节点。如某一节点审批人可以直接退到发起人节点&#xff0c;另外节点审批人又可以回退到另外节点或者是范围内等等&#xff0c;这些都是…

001集——在线网络学习快速完成——16倍速度

在线网络学习快进方法如下&#xff1a; 电脑下载 Microsoft edge 浏览器&#xff0c;有的电脑是自带的 1、点击右上角… 2、点击"扩展" 3、点击"管理扩展" 4、点击"获取 Microsoft edge 扩展" 5、搜索框里搜" global " 6、获取"…