0

Fresh server running Windows Server 2016 Standard along with a fresh copy of MariaDB 10.3.14. MariaDB starts and runs perfectly when started from the command line using:

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

When it's running I can connect to it locally and remotely just fine. Defined as a service the path to executable value is:

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

When I try to start the service the starting progress bar pauses about half way through the starting and then fails with the message:

Windows could not start the MariaDB service on Local Computer.

Error 1053: The service did not respond to the start or control request in a timely fashion.

The box has nothing else on it but Apache right now so virtually 100% of the processor is available. For the life of my I can't figure out why it won't start as a service when it runs just fine from a command prompt.

The log from the console when started from a command prompt shows no errors or issue:

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
    The account the service runs under, may not have permissions to access the ini or data files. I would use Process Monitor to monitor the start of the service. You may have to use a different account or adjust the NTFS permissions. – Peter Hahndorf Jun 4 at 18:33
  • How much RAM is available? I ask because 128M for innodb_buffer_pool_size is small for 'typical' machines today. – Rick James Jun 4 at 18:55
  • Thanks for the pointer to Process Monitor but I haven't spotted any obvious errors yet. I have a few INVALID PARAMETER with detail that says IOCTL_MOUNTDEV_QUERY_DEVICE_NAME things in the log along with a couple of NAME INVALID entries but what comes after them appears to be successful operations. @RickJames the machine has 16 gig total and shows only about 14% being used. There are currently no databases other than MySQL. – Dave Jun 4 at 18:59
  • I isolated the attempt in Process Monitor but it is over 4200 entries worth of data. If it might be helpful I can make it available. – Dave Jun 4 at 19:02
  • You may get a copy the Process Monitor data in CSV format using this link. – Dave Jun 4 at 19:24
0

Though I'm not exactly sure what fixed the issue I removed the MariaDB service and the data directory completely. I then used mysql_install_db to create the data directory and the service all in one shot. That allowed the service to start correctly.

The only thing that I can figure is that somewhere along the lines of trying things yesterday I messed up permissions as suggested by Peter Hahndorf in the comments to my original question. Since this was a fresh installation and I didn't need to preserve anything it was easiest to just start from scratch and it worked.

The full mysql_install_db command I used for reference was:

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.