MariaDB 无法在 Windows Server 2016 上作为服务启动 - 在 cmd 提示符下运行正常

MariaDB 无法在 Windows Server 2016 上作为服务启动 - 在 cmd 提示符下运行正常

运行 Windows Server 2016 Standard 的新服务器以及 MariaDB 10.3.14 的新副本。使用以下命令从命令行启动 MariaDB 并完美运行:

mysqld.exe "--defaults-file=D:\ZZ-MariaDB_Data\my.ini" --console

当它运行时,我可以很好地在本地和远程连接到它。定义为服务,可执行文件的路径值为:

D:\MariaDB\bin\mysqld --defaults-file=D:\ZZ-MariaDB_Data\my.ini

当我尝试启动服务时,启动进度条在启动过程中大约一半时间暂停,然后失败并显示以下消息:

Windows 无法在本地计算机上启动 MariaDB 服务。

错误 1053:服务未及时响应启动或控制请求。

现在盒子上除了 Apache 什么都没有,所以处理器几乎 100% 可用。我终其一生都搞不明白为什么它在命令提示符下运行良好却无法作为服务启动。

从命令提示符启动时控制台的日志没有显示任何错误或问题:

D:\MariaDB\bin>mysqld.exe "--defaults-file=D:\ZZ-MariaDB_Data\my.ini" --console
2019-06-04 14:16:08 0 [Note] mysqld.exe (mysqld 10.3.14-MariaDB) starting as process 5316 ...
2019-06-04 14:16:08 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2019-06-04 14:16:08 0 [Note] InnoDB: Uses event mutexes
2019-06-04 14:16:08 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2019-06-04 14:16:08 0 [Note] InnoDB: Number of pools: 1
2019-06-04 14:16:08 0 [Note] InnoDB: Using SSE2 crc32 instructions
2019-06-04 14:16:08 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2019-06-04 14:16:08 0 [Note] InnoDB: Completed initialization of buffer pool
2019-06-04 14:16:08 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=1630869
2019-06-04 14:16:08 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2019-06-04 14:16:08 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2019-06-04 14:16:08 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2019-06-04 14:16:08 0 [Note] InnoDB: Setting file '.\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2019-06-04 14:16:08 0 [Note] InnoDB: File '.\ibtmp1' size is now 12 MB.
2019-06-04 14:16:08 0 [Note] InnoDB: Waiting for purge to start
2019-06-04 14:16:08 0 [Note] InnoDB: 10.3.14 started; log sequence number 1630878; transaction id 21
2019-06-04 14:16:08 0 [Note] InnoDB: Loading buffer pool(s) from D:\ZZ-MariaDB_Data\ib_buffer_pool
2019-06-04 14:16:08 0 [Note] InnoDB: Buffer pool(s) load completed at 190604 14:16:08
2019-06-04 14:16:08 0 [Note] Plugin 'FEEDBACK' is disabled.
2019-06-04 14:16:08 0 [Note] Server socket created on IP: '::'.
2019-06-04 14:16:08 0 [Note] Reading of all Master_info entries succeded
2019-06-04 14:16:08 0 [Note] Added new Master_info '' to hash table
2019-06-04 14:16:08 0 [Note] mysqld.exe: ready for connections.
Version: '10.3.14-MariaDB'  socket: ''  port: 3306  mariadb.org binary distribution

答案1

虽然我不确定是什么修复了这个问题,但我完全删除了 MariaDB 服务和数据目录。然后我mysql_install_db一次性创建了数据目录和服务。这使得服务能够正确启动。

我唯一能想到的就是,昨天在尝试的过程中,我搞错了权限,正如 Peter Hahndorf 在我的原始问题的评论中所建议的那样。由于这是全新安装,我不需要保留任何东西,所以最简单的方法是从头开始,而且成功了。

mysql_install_db我用来参考的完整命令是:

mysql_install_db --datadir=d:\ZZ-MariaDB_Data --service=MariaDB --password=myrootpasswordhere

相关内容