The 0 byte .log files are normal. Any log file that's larger indicates a fail. Looking at them, however, not all that helpful in that they will show a 'stage/plan' it reached by a number ... 100, 200, 300 ... successful completion reaches 1000.
The MySQL setttings are in /etc/my.cnf on a Linux box. On Windows?
This might help (Googled):
http://stackoverflow.com/questions/14597884/mysql-my-ini-location
However, if one logs onto the DB server via client, one can issue from the mysql> prompt:
show variables; [ENTER]
That will kick out all the variables ... among them ... max_connections (default is 151 and might need to be increased), max_allowed_packet might also need to be increased ... big chunks of data during backups and restores).
Those settings need to be set in the config file for MySQL ... setting them via mysql client will be in affect only for the life of the currently running session. MySQL is rebooted then those are lost unless in config file.
The other settings for memory to consume, time for script to run, should all be in php.ini. Looking at the PHP info link in Moodle will show you which php.ini file it's using.
fgrep 'max' /etc/php.ini on a linux box will show some that you might need to check:
[root@sos bin]# cd /etc/
[root@sos etc]# fgrep 'max' ./php.ini
; max_input_time
; Turning on this setting and managing its maximum buffer size can yield some
; Integer = Enables the buffer and sets its maximum size in bytes.
; http://php.net/max-execution-time
max_execution_time = 120
; http://php.net/max-input-time
max_input_time = 120
; http://php.net/max-input-nesting-level
;max_input_nesting_level = 64
max_input_vars = 1500
Would help to locate the web server logs ... especially the error log ... and viewing them for clues.
The above assumes, of course, you are running apache and mysql.
'spirit of sharing', Ken