Mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服 ...

立山  金牌会员 | 2024-6-21 01:55:46 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 579|帖子 579|积分 1737

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


  
   背景:在修改了 my.ini 配置之后,重启 Windows 的 Mysql 服务后,碰到的mysql启动报错。
  1. 备份mysql的data文件夹

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

  • Mysql 默认安装时,会有两个关键路径 (C:\ProgramData\MySQL\MySQL Server 8.0 和 C:\Program Files\MySQL\MySQL Server 8.0)
  • 这两个路径 前者是 数据库数据,配置文件,数据库日志 等 Mysql 焦点数据存储地,后者是 Mysql 软件自己,即提供服务的步调。
  • 假如你不想要丢失焦点数据,请肯定要备份好 data 文件夹
  假如你没有做好 mysql 的data 文件夹备份操作,请不要实验以下操作
2. 重新构建 Windows的Mysql 服务

2.1 管理员权限进入CMD

​ Step-1:按 Win + s ,输入cmd

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

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

2.2 删除 Mysql 服务

​ Step-1: 删除 MySQL 服务
  1. $ mysqld --remove mysql
复制代码

​ Step-2: 重新安装 Mysql服务,并指定配置文件路径
  1. $ mysqld --install MySQL80 --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini"
复制代码
​ Step-3:假如出现重复提示可以在 Windows中注销该服务
重复提示


删除服务
  1. $ sc delete mysql
复制代码

​ Step-4: 再次实验重新安装 Mysql服务,并指定配置文件路径
得到效果

​ Step-5: 按 win + s 输入 服务

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

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

查抄配置文件路径
  1. $ 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数据库输入以下指令
  1. $ mysql -uroot -p
复制代码
​ 系统提示你输入暗码,你会发现,你之前保存的暗码已经不见了,这个时候相当于一个新的用户,你可以直接不输入暗码按Enter即可进入;

​ 但是使用第三方软件时,必须要求数据库有暗码,会出现 Access denied for user 'root'@'localhost' (using password:YES) 报错,于是我们必须设置 MySQL 暗码。
  1. $ 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,可以使用以下指令解决问题。
  1. $ ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
复制代码
​ 刷新权限(留意末了有分号),然后回车。
  1. $ flush privileges;
复制代码
​ 测试是否成功:输入之前第一步输入过的 mysql -uroot -p,并回车,这个时候一样会要求我们输入暗码,接下来我们输入 刚刚设置好的暗码,并回车,出现下图效果即为成功。

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

当你想要查抄一下刚刚新建的用户使用的数据库文件路径的时候,最糟糕的事情来了,你无法让更改的 my.ini 配置文件生效。
使用指令
  1. $ 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加载的配置文件路径。
  1. $ mysql> SELECT variable_path,COUNT(*) FROM performance_schema.variables_info WHERE variable_path<>''  GROUP BY variable_path;
复制代码
你会得到
  1. $ Empty set (0.00 sec)
复制代码
这贫苦就大了,说明**你没有配置。。**这意味着你不知道他的默认值,无法修改配置文件,导致你几乎丧失权限。假如你是一个平凡的开辟者,只是想要完成任务,这可以忍受,假如你是一个专业的开辟者,那么几乎完全无法忍受不能操作配置文件,这给步调带来了极大的不确定性。
假如是正常的,应该会得到如下准确示例

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

  • 意味着 MySQL的某些限定你无法修改,比如最短相应时间
  • 意味着你无法根据个人步调对MySQL 进行个人化改造
  4. 总结

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


  • 至少收获了在 Windows 中 Mysql 的配置路径区别
  • Windows 删除服务,注册服务
  • Mysql 数据库 data 文件夹重定向
  • Mysql 在 windows 的配置查抄
5. 参考博客


  • 【解决】mysql本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或步调使用时将主动停止_本地计算机 上的 mysql 服务启动后停止。某些服务在未由其他服务或步调使用时将自-CSDN博客
  • 完美解决MySQL ERROR:Access denied for user root@localhost (using password:YES)_access denied for user ‘root’@‘localhost’ (using p-CSDN博客
  • 【完美解决】mysql启动不了:本地计算机上的MySQL服务启动后停止_本地计算机上的mysql服务启动后停止 某些-CSDN博客
  • windows 本地安装的mysql 查找配置文件,my.cnf,my.ini位置的方法-CSDN博客
  • mysql 数据文件夹 data 的设置与移动【windows | 实测】 - 知乎 (zhihu.com)
  • 我无法在%ProgramData中找到我的MySQL文件夹%ProgramData% - VoidCC
  • (7 封私信 / 80 条消息) 有没有大佬知道ProgramData文件里没有MySQL文件是怎么回事啊? - 知乎 (zhihu.com)
  • 安装MySQL碰到的一下问题和细节_为什么program files和programdata中都有mysql-CSDN博客
  • 关于修改MySQL数据存储路径,超详细!!!_更改mysql数据库存储位置-CSDN博客
  • MySQL如何找到使用的是哪个配置文件?-腾讯云开辟者社区-腾讯云 (tencent.com)
  • 新特性解读 | MySQL 8.0 轻松改配置,云上友好 - MySQL分布式中间件DBLE - SegmentFault 思否
  • Windows情况下手动启动、停止MySQL服务. 下令行启动、停止MySQL服务. 查找MySQL安装目录._启动与停止mysql的下令是是-CSDN博客)
  • MySQL 服务正在启动 . MySQL 服务无法启动 服务没有报告任何错误 解决方案_mysql 服务正在启动 . mysql 服务无法启动。 服务没有报告任何错误。-CSDN博客
  • 修改MySql8.0的数据库默认存储位置_mysql8.0 数据库指定数据库存放位置怎么设置-CSDN博客
  • net start mysql MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。_net start mysql无法启动-CSDN博客
  • 关于修改MySQL数据存储路径,超详细!!!_mysql_Wang_JR1229-GitCode 开源社区 (csdn.net)
  • mysql 查找配置文件位置方法_检察mysql配置文件位置-CSDN博客
  • mysql启动报错:本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或步调使用时将主动停止_本地计算机上的mysql服务启动后停止某些服务在未有其他服务或步调使用时将主动停止-CSDN博客
  • 在 Windows 系统中删除「服务」的 4 种方法_windows卸载任务管理器的服务-CSDN博客
  • windows server mysql错误1053 服务没有及时相应启动或控制请求_mob64ca12d5604e的技能博客_51CTO博客
  • 如何解决本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或步调使用时将主动停止(假如你在网上找了方法都不行,可以试试这个)-CSDN博客

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表