本地mysql服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止

本文详细描述了在Windows7环境下,如何解决MySQL5.7服务启动问题,包括删除旧服务、清空数据、初始化数据库、重新注册服务、设置空密码并修改密码策略的过程。

背景介绍:

MySQL版本5.7,系统Win7,启动mysql服务时提示如下

在这里插入图片描述

解决方案

【会删除库中数据及mysql注册信息】:

1、删除原服务MySQL57

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld --remove MySQL57

2、清空data

清空前先备份,后期用于数据恢复,若库中无重要数据,清空即可。

在这里插入图片描述

3、初始化mysql

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld --initialize-insecure --user=
root

4、注册mysql服务

mysqld install MySQL57 --defaults-file="C:\Program Files\MySQL\MySQL Server 5.7\my-default.ini"

开始用的下面这条命令注册,启动一直失败,后更换成上一个命令成功

mysqld install MySQL57 --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini"

5、启动服务

net start MySQL57

在这里插入图片描述

6、连接

打开此文件,mysql重新注册后密码为空。

在这里插入图片描述

在这里插入图片描述

登录设置密码

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysql -uroot -p

查看密码策略为空,随意设置即可:

SHOW VARIABLES LIKE '%validate_password%';

设置密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

在这里插入图片描述

### MySQL服务启动自动停止的解决方案 MySQL服务启动自动停止的问题通常是由于配置文件错误、依赖服务启动、权限不足日志文件问题引起的。以下是针对该问题的具体分析和解决方法: #### 1. **检查并修正`my.ini`配置文件** 如果`my.ini`文件存在错误配置,可能会导致MySQL服务无法正常启动。建议按照标准模板重新配置`my.ini`文件,并确保其路径正确无误[^2]。 下面是一个适用于Windows环境下的最小化`my.ini`配置示例: ```ini [mysqld] basedir=C:/Program Files/MySQL/mysql-8.0.21-winx64/ datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data/ port=3306 default_authentication_plugin=mysql_native_password [client] port=3306 ``` 替换原有的`my.ini`文件后,在命令提示符中进入MySQL的`bin`目录,执行以下命令重启服务: ```bash net stop mysql net start mysql ``` #### 2. **验证依赖服务的状态** MySQL服务可能依赖于其他系统服务(如TCP/IP协议栈)。如果这些服务启动,则可能导致MySQL服务异常终止。可以通过以下步骤确认依赖服务状态: 打开“服务管理器”(services.msc),查找与网络相关的服务是否已启用。特别是要确保`Tcpip`等相关组件处于运行状态[^3]。 #### 3. **排查权限问题** 权限不足也是常见的原因之一。需确保MySQL服务账户具有足够的权限访问数据目录和其他必要资源。可以尝试更改服务登录账户为内置管理员账号来测试效果: - 右键点击“我的电脑” -> 属性 -> 高级系统设置 -> 服务; - 定位到MySQL服务右击属性-> 登录选项卡 -> 更改为Local System account 指定一个拥有完全控制权的用户帐户[^3]。 #### 4. **审查错误日志** 日志记录能够提供关于失败原因的重要线索。默认情况下,MySQL会在安装位置生成名为`hostname.err`的日志文件。打开此文件查看最近几条报错信息可以帮助定位具体故障点。 #### 5. **重置初始化数据库** 若以上措施均能解决问题,考虑删除现有实例的数据存储部分再重新初始化一个新的实例作为最后手段之一。注意提前做好重要资料备份以防丢失! ```sql -- 停止当前mysql进程前先保存所有有价值的内容至安全地方。 mysqld --initialize-insecure --user=mysql ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值