解决Mysql启动提示“本地计算机上的mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止”的问题

一.Bug背景

        7月1日数据库正常运行,在7月1日晚进行了idea项目部署到github上的操作、7月2日进行了回收站的删除的操作、然后正常在service中启动mysql时启动失败(因为我的mysql设置每次开机后需要重启服务),提示如下错误:

二.处理过程

        1.先关机,重启,试试是不是电脑的一些可以重启就解决的Bug,我方检验:无效

        2.通过管理员运行cmd,进入mysql安装目录的bin目录下,输入移除mysql服务的命令

mysqld --remove mysql

提示:service successfully removed即为移除成功

        3.清除mysql根目录下的data文件

                如果有,将里面的内容全部删除

                如果没有,就新建一个data文件夹,里面不放任何东西

        4.初始化mysql

mysqld --initialize-insecure --user=mysql

        5.注册mysql服务

mysqld --install mysql --defaults-file=d:\mysql-5.7.14-winx64\my.ini

上面的d:\mysql-5.7.14-winx64:改成自己的路径
上面的mysql:可以自己定义服务名

        6.启动mysql

net start mysql

上面的mysql:是上一步自己定义的服务名

        7.进入刚才新建的data目录下,会出现一个或者两个.err后缀的文件,或者是隐藏文件没有显示出来,用记事本打开文件,里面会有密码的设定,一般情况下会是空密码

         8.再次登录mysql服务

        

mysql -u root -p

        9.如果修改密码,可以继续运行,修改即成功,可重新登录实验

        

alter user 'root'@'localhost' identified by '111111'; 

注:如果问题,欢迎指正

### 可能的原因分析 当遇到本地计算机上的MySQL服务启动自动停止的情况,通常有几种可能原因: - **配置文件设置不当**:MySQL服务器的配置参数可能导致其无法正常运行[^1]。 - **数据目录损坏**:`data` 文件夹中的数据库文件可能存在损坏不兼容情况[^3]。 - **端口冲突**:其他应用程序占用了MySQL默认使用的端口号(通常是3306),这会阻止MySQL绑定到所需端口并导致崩溃[^5]。 ### 解决方案建议 #### 查阅日志文件 前往MySQL安装路径下的 `data` 文件夹找到 `.err` 日志文件来获取具体的错误提示信息。通过这些详细的报错记录可以帮助定位具体问题所在。 ```bash cd C:\Program Files\MySQL\MySQL Server X.X\data\ notepad .\hostname.err ``` #### 修改my.ini/my.cnf配置 检查 MySQL 的配置文件 (`my.ini` 者 Linux 下面的是 `my.cnf`) 中是否存在不合理者过高的资源请求设定,比如内存分配过多等。适当调整相关选项以适应硬件条件[^2]。 #### 排查端口占用状况 利用命令行工具确认是否有第三方软件正在使用 MySQL 默认监听端口,并考虑更改 MySQL 配置中指定的不同端口是关闭不必要的竞争程序实例。 ```powershell netstat -ano | findstr :3306 tasklist /FI "PID eq <pid_number>" ``` > 注意替换 `<pid_number>` 为实际查询得到的服务进程ID号。 #### 数据库重初始化尝试 对于一些难以修复的数据文件损伤情形,备份现有重要资料之后删除整个 data 文件夹再让 MySQL 初始化新的存储空间不失为一种有效手段;当然也可以选择完全卸载重装 MySQL 来恢复初始状态[^4]。 #### 使用官方支持渠道求助 如果上述措施均解决问题,则应当收集尽可能详尽的日志片段向 MySQL 官方社区寻求进一步的技术援助。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值