The MySQL server is a daemon, meaning it is a constantly running process that communicates via TCP/IP. In order to use Zend DBi MySQL, the Zend DBi MySQL server daemon must be running.
Prerequisite: Zend DBi must be installed. The following article can help with that:
Install MySQL using the Zend DBi installer with Zend Server
To start the Zend DBi MySQL daemon job, please sign on to a 5250 session as QSECOFR or as a *SECOFR class user. Enter this command:
This should bring you to the Zend Server 6 for IBM i Setup Menu. Please use option “6. ZendDBi Management menu”. If Zend DBi is installed, this should bring you to the ZendDBi management menu. (If Zend DBi is not installed, you will be offered the opportunity to install it). These are the options displayed:
1. Start ZendDBi subsystem 2. Work with ZendDBi susbsystem 4. Stop ZendDBi subsystem 6. Start ZendDBi daemon 7. Stop ZendDBi daemon 9. Upgrade to ZendDBi
Note: The menus shown in this article were installed with Zend Server for IBM i version 6.3.0. There is an earlier version of this menu that does not display all of the same options. This is what the earlier menu options look like:
1. Start ZendDBi subsystem 2. Stop ZendDBi subsystem 4. Start ZendDBi daemon 5. Stop ZendDBi daemon
It’s OK to have the earlier menu. Please just be aware of the differences as you read through this article.
To start the Zend DBi MySQL daemon when the subsystem is not active, please use option “1. Start ZendDBi subsystem”. If the subsystem is active but the daemon is not, please use option “6. Start ZendDBi daemon” (option 4 if you have the old menu). If you are not sure how to tell if the subsystem is active, please keep reading.
To verify that the Zend DBi MySQL daemon job is running, please use option “2. Work with Zend DBi subsystem”. If you have the old menu, or if you just prefer to use a command:
If the job is active, you should see this:
Current Subsystem/Job User Type CPU % Function ZENDDBI QSYS SBS .0 ZENDDBID MYSQL BCI .0 PGM-mysqld
If you see more than one ZENDDBID job, the daemon is still starting up. Hit F5 a few times to make sure that there is just the one job displayed, and that the job has not disappeared (which would indicate a problem with the start up). If the display shows the ZENDDBID job, and it does not disappear after hitting F5 a few times, then the daemon is started. Congratulations! If the ZENDDBID job does not appear, please continue reading.
If the subsystem is not active, you will see this:
(No active jobs to display)
This is highly unlikely. If the subsystem does not start, change your job for maximum logging:
CHGJOB LOG(4 00 *SECLVL) LOGCLPGM(*YES)
Then try to start the subsystem from the command line:
If the subsystem fails to start, check your job log for messages, to determine what the problem is, and possibly see some suggested solutions.
If the subsystem is active, but the ZENDDBID job is not active, the ZENDDBI active jobs display will show this:
Current Subsystem/Job User Type CPU % Function ZENDDBI QSYS SBS .0
If the ZENDDBID job is missing, there is some start up problem. Logs often show an error that says “mysql.sock not found”. This is a file that only exists when the ZendDBi MySQL daemon is running. If it is not found, then that just means the daemon did not start. To find out why, you will need to:
Troubleshoot Zend DBi MySQL daemon start up failures