启动 MySQL 独立版可以,但作为 Windows 服务启动失败

启动 MySQL 独立版可以,但作为 Windows 服务启动失败

我有一个包含 mysql/mariadb 的 xampp-portable 目录。xampp 目录直接位于 上d:,因此路径为d:\xampp,mysql 为d:\xampp\mysql我想要将 mysql 作为 Windows 服务运行,以便它在系统启动时自动启动。好的。

我确实以提升的权限运行了以下命令d:\xampp\mysql\binmysqld --install MySQL defaults-file="d:\xampp\mysql\bin\my.ini" 命令成功(Service successfully installed.

以下命令(以控制台或独立模式启动)也会成功:

mysqld --defaults=file-d:\xampp\mysql\bin\my.ini --standalone
mysqld --defaults-file=d:\xampp\mysql\bin\my.ini --console

因此我认为配置文件是正确的。

net start MySQL失败并出现 1067 错误。为 MySQL 服务生成的命令是D:\xampp\mysql\bin\mysqld defaults-file=d:\xampp\mysql\bin\my.ini MySQL,并且该命令也失败且没有任何消息。

1067 错误有几十种解决方案

  • 检查防火墙规则(防火墙已禁用)
  • 从数据目录中删除所有 ib* 文件
  • 验证路径正确
  • 验证路径在必要时使用大写字母
  • 卸载/重新安装 MySQL 服务(mysqld -remove MySQL由于 MySQL 没有运行而失败,因此sc delete MySQL要删除服务注册)

我有点迷茫。我唯一能想到的就是权限问题。但由于服务以“本地系统”运行,因此该服务应该可以访问所有内容。有什么建议吗?

D:\xampp\mysql\data\name.err这是尝试使用以下命令启动服务后的日志文件内容net start MySQL

编辑1:

2023-05-12  7:52:01 0 [Note] Starting MariaDB 10.4.28-MariaDB source revision c8f2e9a5c0ac5905f28b050b7df5a9ffd914b7e7 as process 11092
2023-05-12  7:52:01 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2023-05-12  7:52:01 0 [Note] InnoDB: Uses event mutexes
2023-05-12  7:52:01 0 [Note] InnoDB: Compressed tables use zlib 1.2.12
2023-05-12  7:52:01 0 [Note] InnoDB: Number of pools: 1
2023-05-12  7:52:01 0 [Note] InnoDB: Using SSE2 crc32 instructions
2023-05-12  7:52:01 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2023-05-12  7:52:01 0 [Note] InnoDB: Completed initialization of buffer pool
2023-05-12  7:52:01 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2023-05-12  7:52:01 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2023-05-12  7:52:01 0 [Note] InnoDB: Setting file '.\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2023-05-12  7:52:01 0 [Note] InnoDB: File '.\ibtmp1' size is now 12 MB.
2023-05-12  7:52:01 0 [Note] InnoDB: 10.4.28 started; log sequence number 50709; transaction id 8
2023-05-12  7:52:01 0 [Note] InnoDB: Loading buffer pool(s) from D:\xampp\mysql\data\ib_buffer_pool
2023-05-12  7:52:01 0 [Note] Plugin 'FEEDBACK' is disabled.
2023-05-12  7:52:01 0 [Note] InnoDB: Buffer pool(s) load completed at 230512  7:52:01
D:\xampp\mysql\bin\mysqld: Too many arguments (first extra is 'defaults-file=d:\xampp\mysql\bin\my.ini').
2023-05-12  7:52:01 0 [ERROR] Aborting

EDIT2/解决方案:

我的安装命令错误:

rem wrong
mysqld --install MySQL defaults-file="d:\xampp\mysql\bin\my.ini"
rem correct: double-dash prefix for parameter defaults-file
mysqld --install MySQL --defaults-file="d:\xampp\mysql\bin\my.ini"

答案1

我现在注意到,在为服务生成的命令中,缺少 -- 参数,不知道是拼写错误还是实际错误。
无论如何,我也使用 xampp,并且为了安装服务,我使用了集成的脚本,在你的情况下应该是:

D:\xampp\mysql\mysql_installservice.bat

因此,请尝试删除实际服务,然后运行此脚本。
您也可以通过单击 mysql 旁边的红色 X 从 xampp 控制面板进行安装

答案2

您是否在仅使用命令行进行安装?您是否可以检查 mysql 日志文件和 windows 事件查看器,看看是否有关于该错误的更多信息(最终来自远程 windows pc)。

相关内容