MySQL安装过程出现starting the server报错的解决方案

报错情况:starting the server报错
在MySQL安装过程中,出现如下情况报错,即Configuration Steps中Starting the server步骤无法进行,安装失败。出现该错误的原因可能是电脑并非第一次安装且未清除干净之前安装的残留,可能是因为网络服务权限不足。

下面将介绍针对这两种情况的解决办法,推荐一起使用,方便快速解决问题。

清除之前安装残留


1.出现starting the server报错后,点击cancel退出安装程序,找到未安装完成的下图两个程序,卸载。

 

 2.找到安装路径下的MySQL文件夹删除(如果默认安装在C盘则在Program Files中,如果修改在其他盘就找到当时设置的安装路径下)

3. C盘中查看栏,勾选“隐藏的项目”找到ProgramData文件夹,点开,删除MySQL文件夹。 

4.win+R键输入 regedit 运行,进入注册表编辑器,按下图路径,找到MySQL,进而删除MySQL注册表信息。(如果在该路径中没有找到MySQL说明注册表信息已清除,可以跳过这一步)

 5.找到命令提示符,以管理员身份运行,输入sc delete MySQL80删除服务。

(这里是因为我原本安装的MySQL版本为8.0及以上版本所以为MySQL80,目前大部分安装的应该都为这个比较高的版本,但如果有读者安装的MySQL版本较低,删除命令也需要进行对应变更,比如变为5.7版本就需要变为MySQL57)

C:\Windows\system32>sc delete MySQL80   
[SC] DeleteService 成功

添加网络服务权限

6.win+R键输入compmgmt.msc进入,计算机管理-系统工具-本地用户和组-组-Administrators,点击

 

7.进入后点击“添加”,在输入对象名称来选择栏,输入NETWORK SERVICE->点击检查名称->确认。完成后退出。

 

 8.重新点击MySQL的.msi安装程序,重新安装即可。

原文链接:https://blog.youkuaiyun.com/qq_50790981/article/details/125830524

### 关于 MySQL 安装过程中的 '未将对象引用设置到对象的实例' 错误 在安装 MySQL过程中遇到 “未将对象引用设置到对象的实例” 这类错误通常是因为服务器未能成功初始化或者配置文件存在问题。以下是针对该问题的具体解决方案: #### 1. **检查 my.ini 文件路径** 如果 `my.ini` 文件的位置不正确,可能会导致 MySQL Server 启动失败。按照以下方法操作可以解决问题: - 确认 `my.ini` 文件已放置在指定目录下(如 C:\ProgramData\MySQL\MySQLServer5.7)。如果没有找到此文件夹,则手动创建它并将 `my.ini` 复制进去[^3]。 #### 2. **重命名 my.ini 并重启 mysqld.exe** 尝试通过更改默认配置文件名称来排除冲突的可能性: - 将现有的 `my.ini` 改名为 `my-default.ini`。 - 停止当前运行的服务并通过命令行重新启动 `mysqld.exe` 来验证效果[^2]。 #### 3. **以管理员权限执行初始化脚本** 为了确保数据库能够正常初始化而不报错,请按如下步骤操作: - 打开具有管理员权限的 CMD 工具; - 输入以下两条指令完成初始化和服务注册工作: ```bash "C:\Program Files\MySQL\MySQLServer5.7\bin\mysqld" --initialize-insecure "C:\Program Files\MySQL\MySQLServer5.7\bin\mysqld" install ``` 上述命令的作用分别是无密码模式初始化数据目录以及向系统添加 MySQL 服务项。 #### 4. **确认环境变量与依赖库** 有缺少必要的动态链接库也会引发类似的异常情况。因此建议核查以下几个方面: - Windows 上是否已经设置了正确的 PATH 变量指向 MySQL bin 路径? - 是否存在版本兼容性问题?比如操作系统位数 (32-bit vs 64-bit) 或者其他软件干扰? #### 5. **查看日志记录定位具体原因** 当以上措施均无效,可以通过分析错误日志进一步排查根本原因: - 日志位置一般位于 `%PROGRAMDATA%\MySQL\MySQL Server X.X\Data\hostname.err` 中(X.X代表具体的版本号),仔细阅读其中的内容有助于发现潜在隐患[^1]。 --- ### 提供一段 Python 示例用于检测端口占用状况 下面给出了一段简单的Python代码用来测试目标机器上是否有进程占用了标准SQL通信端口(即3306): ```python import socket def check_port(host='localhost', port=3306): try: sock = socket.create_connection((host, port)) sock.close() return True except OSError: pass return False if __name__ == "__main__": if check_port(): print(f"The port {port} is currently in use.") else: print(f"The port {port} is available.") ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值