Назад | Перейти на главную страницу

MariaDB не запускается как служба на Windows Server 2016 - отлично работает из командной строки

Свежий сервер под управлением 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

Хотя я не совсем уверен, что решило проблему, я полностью удалил службу MariaDB и каталог данных. Затем я использовал mysql_install_db для создания каталога данных и сервиса одновременно. Это позволило сервису правильно запуститься.

Единственное, что я могу понять, это то, что где-то во время вчерашних попыток я испортил разрешения, как предложил Питер Хандорф в комментариях к моему исходному вопросу. Поскольку это была новая установка, и мне не нужно было ничего сохранять, проще всего было начать с нуля, и это сработало.

Полный mysql_install_db Команда, которую я использовал для справки, была:

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