当前位置: 首页 > article >正文

MySQL安装MySQL服务时提示Install-Remove of the Service Denied

文章目录

    • 问题描述
    • 排查
      • 1.字面意思
      • 2.搜索引擎
      • 3.官方文档
      • 4.源码
    • 处理方法
      • 相关扩展


问题描述

MySQL安装MySQL服务时提示Install-Remove of the Service Denied!

详细报错如下:

C:\Users\荷塘月色>net start mysql
服务名无效。

请键入 NET HELPMSG 2185 以获得更多的帮助。


C:\Users\荷塘月色>cd /d F:\Database\mysql-5.7.25-winx64\bin

F:\Database\mysql-5.7.25-winx64\bin>mysqld -install
Install/Remove of the Service Denied!

F:\Database\mysql-5.7.25-winx64\bin>

排查

1.字面意思

Install/Remove of the Service Denied

安装/删除服务被拒绝,看起来好像是权限问题,权限不够。

2.搜索引擎

MySQL的文章还是很多的,这个问题好像也挺常见的,很容易就搜到了。

确实是权限不够,用管理员权限打开cmd就可以了。

3.官方文档

虽然已经有了处理方法,还是想看看官方文档有没有相关的说明。

相关搜索:https://dev.mysql.com/doc/search/?d=12&p=1&q="mysqld+-install"

找了篇文章:https://dev.mysql.com/doc/refman/5.7/en/windows-start-service.html

复制了下前面的一段话,注意后面加粗部分即是相关说明。

On Windows, the recommended way to run MySQL is to install it as a Windows service, so that MySQL starts and stops automatically when Windows starts and stops. A MySQL server installed as a service can also be controlled from the command line using NET commands, or with the graphical Services utility. Generally, to install MySQL as a Windows service you should be logged in using an account that has administrator rights.

在Windows上,推荐的运行MySQL的方式是将其作为Windows服务安装,以便MySQL在Windows启动和停止时自动启动和停止。安装为服务的MySQL服务器也可以使用。NET命令或图形化服务实用程序从命令行进行控制。一般来说,要将MySQL安装为Windows服务,您应该使用具有管理员权限的帐户登录。

4.源码

搜关键字Remove of the Service,找到了相关源码:mysql-server\router\src\router\src\windows\nt_servc.cc

主要代码:

    if (ret_error == ERROR_ACCESS_DENIED) {
      printf("Install/Remove of the Service Denied!\n");
      if (!is_super_user())
        printf(
            "That operation should be made by a user with Administrator "
            "privileges!\n");
    } else
      printf("There is a problem when opening the Service Control Manager!\n");

处理方法

用管理员权限打开cmd,执行命令,注册服务。

C:\Windows\system32>cd /d F:\Database\mysql-5.7.25-winx64\bin

F:\Database\mysql-5.7.25-winx64\bin>mysqld --install MySQL57 --defaults-file=F:\Database\mysql-5.7.25-winx64\my.ini
Service successfully installed.

F:\Database\mysql-5.7.25-winx64\bin>mysqld --initialize

F:\Database\mysql-5.7.25-winx64\bin>mysqld --initialize
2025-02-14T03:47:12.878700Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2025-02-14T03:47:12.881124Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2025-02-14T03:47:12.882042Z 0 [ERROR] Aborting


F:\Database\mysql-5.7.25-winx64\bin>net start mysql57
MySQL57 服务正在启动 .
MySQL57 服务已经启动成功。


F:\Database\mysql-5.7.25-winx64\bin>

相关扩展

  1. mysqld --install 注册服务时,可指定服务名称,比如一个Windows上面安装两个版本的MySQL数据库,具体可参考:https://dev.mysql.com/doc/refman/5.7/en/windows-start-service.html。

  2. mysqld --initialize 初始化数据库的目录必须为空。但是如果不为空,会有提示,不会强制删除文件。(如上示例)

  3. net start 启动服务命令,服务名不区分大小写。


http://www.kler.cn/a/545993.html

相关文章:

  • 数论补充 之 前后缀分解问题
  • 编程技巧:VUE 实现接口返回数据的流式处理
  • FPGA实现SDI视频缩放转GTY光口传输,基于GS2971+Aurora 8b/10b编解码架构,提供工程源码和技术支持
  • 网络安全 | 网络攻击介绍
  • 【项目日记(五)】第二层: 中心缓存的具体实现
  • 释放你的元数据:使用 Elasticsearch 的自查询检索器
  • 大中型企业专用数据安全系统 | 天锐蓝盾终端安全 数据安全
  • 深入理解DOM:22个核心知识点与代码示例
  • ‌CBA认证‌(业务架构师认证)简介---适用人群、考试内容与形式、含金量与职业前景,以及‌CBA、TOGAF认证对比表格
  • Vulnhub靶机渗透-DC5
  • 一款利器提升 StarRocks 表结构设计效率
  • 微信小程序地图标记点,安卓手机一次性渲染不出来的问题
  • 每日一题——矩阵最长递增路径
  • 基于Linux系统理解 IO文件系统
  • 中间件系列--【运维手册规范】
  • 用java实现word(docx)转换为pdf格式文档(简单版)
  • Linux Mem -- MTE in AArch64 Linux
  • CTF-WEB: 利用iframe标签利用xss,waf过滤后再转换漏洞-- N1ctf Junior display
  • 微信小程序实战项目001:NBA球队太阳队简介
  • 掌控系统性能的利器:自动化系统性能监控工具