Most Zend DBi MySQL daemon start up issues can be resolved by reviewing the known issues covered in the troubleshooting article:
Troubleshoot Zend DBi MySQL daemon start up failures (mysql.sock)
However, there may be a situation where none of the known issues seem to be the problem. In that situation, the first thing to do is try to find a PASE error by starting the mysqld program in the PASE shell. If the mysqld program starts successfully, but the ZENDDBID job does not start from the menu, then the technique presented here can be used to determine any problems in the submission of the job. To find out if the mysqld PASE program starts successfully, please go to the following article (if you have not done so already):
Start Zend DBi MySQL daemon in PASE to review start up errors
If a PASE error was not found, continue with this step. This process will create a detailed job log of the start up program that should contain any errors preventing the job from starting or submitting. To begin, please log on to a 5250 session as QSECOFR or a *SECOFR class user and enter this command:
go zendsvr6/zsmenu
This will bring you to the Zend Server 6 for IBM i Setup Menu. Use option “6. ZendDBi Management menu”. This will bring you to the ZendDBi management menu.
Verify that subsystem ZENDDBI is active, and job ZENDDBID is not active. Use option “2. Work with ZendDBi susbsystem”. If the subsystem is active, the display should show this:
Current Subsystem/Job User Type CPU % Function ZENDDBI QSYS SBS .0
If it is not active, use option “1. Start ZendDBi subsystem”. Then, once again, use option “2. Work with ZendDBi susbsystem”. The display should now look like the example just above. If there is also one or more ZENDDBID jobs in there, hit F5 a few times, until they go away. If one ZENDDBID remains and does not end, that would mean start up is working, and we would not be here doing this. If it looks like this, we are done:
Current Subsystem/Job User Type CPU % Function ZENDDBI QSYS SBS .0 ZENDDBID MYSQL BCI .0 PGM-mysqld
That is very unlikely to be the case.
The next step is to put the job queue on hold:
HLDJOBQ JOBQ(ZMYSQL/ZMYSQLJBQ)
Now, please go to the menu and use option “6. Start ZendDBi daemon”. (This might be option 4 if you have the older version of the menu.) It will take a while, then it may give a message that it could not be started. If the message appears, this is OK, because the start up job is held in the job queue. Display the job queue:
WRKJOBQ JOBQ(ZMYSQL/ZMYSQLJBQ)
You should see one job in there (if there are more, the job queue may have been held all along, which may have been the problem). It will look something like this, with a different job number:
Job User Number Priority Status ZENDDBID MYSQL 034213 5 RLS
Use option 2 to change the job and put these parameters on the command line:
Opt Job User Number 2 ZENDDBID MYSQL 034213 Parameters for options 2, 3 or command ===> LOG(4 00 *SECLVL) LOGCLPGM(*YES)
Press enter to record the changes. Make a note of the job name and number, or just stay on this screen while you release the job queue, so you can display the job after it finishes. Release the job queue:
RLSJOBQ JOBQ(ZMYSQL/ZMYSQLJBQ)
Display the job that was in the queue when it was released.
DSPJOB 034213/MYSQL/ZENDDBID
On the Display Job menu, use option “4. Display spooled files”. There should be a job log. There may also be a QPRINT spooled file, as seen in this example:
Device or Total File Queue User Data Status Pages QPRINT QPRINT RDY 1 QPJOBLOG QEZJOBLOG ZENDDBID RDY 1
Please examine the job log for any messages. If you are working with Zend Support on your issue, you can also copy the job log to a text file, zip the text file, and attach the zipped file to your next email response. If there is a QPRINT spool file, examine it, and if you have a Support case, copy to text, zip it and send it, as well.