The i5/OS POWER MySQL package was created in cooperation with IBM. MySQL works within the Portable Application Solution Environment (PASE) on the System i series of hardware and will also provide database services for the Zend Core for i5/OS.
    MySQL for i5/OS is provided both as a tar file
    and as a save file (.savf) package that can be
    downloaded and installed directly without any additional
    installation steps required. To install MySQL using the
    tar file, see
    Section 2.2, “Installing MySQL from Generic Binaries on Unix/Linux”.
  
    MySQL is only supported on i5/OS V5R4 or later releases. The i5/OS
    PASE must be installed for MySQL to operate. You must be able to
    login as a user in *SECOFR class.
  
You should the installation notes and tips for i5/OS before starting installation. See i5/OS Installation Notes.
Before Installation:
      The installation package will use an existing configuration if you
      have previously installed MySQL (which is identified by looking
      for the file /etc/my.cnf). The values for the
      data directory (DATADIR) and owner of the MySQL
      files (USRPRF) specified during the
      installation will be ignored, and the values determined from the
      /etc/my.cnf will be used instead.
    
      If you want to change these parameters during a new install, you
      should temporarily rename /etc/my.cnf,
      install MySQL using the new parameters you want to use, and then
      merge your previous /etc/my.cnf configuration
      settings with the new /etc/my.cnf file that
      is created during installation.
    
        You must have a user profile with PASE with suitable privileges.
        The user should be within the *SECOFR class,
        such as the QSECOFR user ID. You can use the
        WRKUSRPRF command to check your user profile.
      
For network connections to MySQL, you must have TCP/IP enabled. You should also check the following:
            Ensure that a name has defined for the system. Run the
            Configure TCP/IP (CFGTCP) command and
            select option 12 (Change TCP/IP domain information) to
            display this setting. Make sure that a value is listed in
            the Host name field.
          
            Make sure that the system has a loopback entry which
            represents the localhost or
            127.0.0.1.
          
Ensure that the IP address of the IBM i machine is mapped correctly to the host name.
To install MySQL on i5/OS, follow these steps:
        On the System i machine, create a save file that will be used to
        receive the downloaded installation save file. The file should
        be located within the General Purpose Library
        (QGPL):
      
CRTSAVF FILE(QGPL/MYSQLINST) TESXT('MySQL Save file')
        Download the MySQL installation save file in 32-bit
        (mysql-)
        or 64-bit
        (5.1.39-i5os-power-32bit.savfmysql-)
        from MySQL
        Downloads.
      5.1.39-i5os-power-64bit.savf
        You need to FTP the downloaded .savf file
        directly into the QGPL/MYSQLINST file on the
        System i server. You can do this through FTP using the following
        steps after logging in to the System i machine:
      
ftp> bin
ftp> cd qgpl
ftp> put mysql-5.1.39-i5os-power.savf mysqlinst
        Log into the System i server using a user in the
        *SECOFR class, such as the
        QSECOFR user ID.
      
        You need to restore the installation library stored in the
        .savf save file:
      
RSTLIB MYSQLINST DEV(*SAVF) SAVF(QGPL/MYSQLINST) MBROPT(*ALL) ALWOBJDIF(*ALL)
You can ignore the security changes-type message at the bottom of the installation panel.
        Once you have finished restoring the
        MYSQLINST library, check that all the
        necessary objects for installation are on the system by using
        the Display Library (DSPLIB) command:
      
DSPLIB LIB(MYSQLINST)
        You need to execute the installation command,
        MYSQLINST/INSMYSQL. You can specify three
        parameter settings during installation:
      
            DIR(
            sets the installation location for the MySQL files. The
            directory will be created if it does not already exist.
          '/QOpenSys/usr/local/mysql')
            DATADIR(
            sets the location of the directory that will be used to
            store the database files and binary logs. The default
            setting is
            '/QOpenSys/usr/local/mysql/data')/QOpenSys/usr/local/mysql/data. Note
            that if the installer detects an existing installation (due
            to the existence of /etc/my.cnf), then
            the existing setting will be used instead of the default.
          
            USRPRF(
            sets the user profile that will own the files that are
            installed. The profile will be created if it does not
            already exist.
          MYSQL)
You should choose an appropriate user for using the MySQL server installation. The user will be used whenever you need to do any administration on the MySQL server.
Once you have set the appropriate parameters, you can begin the installation.
        The installation copies all the necessary files into a directory
        matching the DIR configuration value; sets
        the ownership on those files, sets up the MySQL environment and
        creates the MySQL configuration file (in
        /etc/my.cnf) completing all the steps in a
        typical binary installation process automatically. If this is a
        new installation of MySQL, or if the installer detects that this
        is a new version (because the /etc/my.cnf
        file does not exist), then the initial core MySQL databases will
        also be created during installation.
      
Once the installation has been completed, you will get a notice advising you to set the password for the root user. For more information, Section 2.13, “Post-Installation Setup and Testing”.
Once the installation has completed, you can delete the installation file:
DLTLIB LIB(MYSQLINST)
Upgrading an existing MySQL instance
    You need to execute the upgrade command,
    MYSQLINST/UPGMYSQL.
  
You cannot use MYSQLINST/UPGMYSQL to upgrade between major versions of MySQL (for example from 5.0 to 5.1). For information and advice on migrating between major versions you can use the advice provided in Section 2.4.1.1, “Upgrading from MySQL 5.0 to 5.1”.
You must specify 6 parameters to perform an upgrade:
        DIR('/QOpenSys/usr/local/') — sets the
        installation location for the MySQL files. The directory will be
        created if it does not already exist. This is the directory that
        the MySQL server will be installed into, inside a directory with
        a name matching the version and release. For example, if
        installing MySQL 5.1.39 with the DIR set to
        /QOpenSys/usr/local/ would result in
        /QOpenSys/usr/local/mysql-5.1.39-i5os-power64
        and a symbolic link to this directory will be created in
        /QOpenSys/usr/local/mysql.
      
        DATADIR('/QOpenSys/mysql/data') — sets
        the location of the directory that will be upgraded.
      
        USRPRF('MYSQL') — sets the user profile
        that will own the files that are installed. The profile will be
        created if it does not already exist; if it is created as part
        of the upgrade process, it will be disabled initially. You may
        wish to enable this user profile so that it can be used to start
        the MySQL server later. It is best practice to use the one
        previously created during the first installation.
      
        MYSQLUSR('root user') — any user
        account in the current MySQL server with
        SUPER privileges.
      
        PASSWORD('root user password') — the
        password for the above account. This is necessary as the upgrade
        starts the MySQL server to upgrade the tables and the password
        is need to be able to shutdown the MySQL server.
      
        CURINST('path to previous install') —
        the full path to the installation that is being upgraded. For
        example an installation in
        /QOpenSys/usr/local/ will be
        /QOpenSys/usr/local/msyql-5.1.30-i5os-power64.
        Failure to specify this option may result in corruption of your
        existing data files.
      
For example:
MYSQLINST/UPGMYSQL DIR('/QOpenSys/usr/local/') DATADIR('/QOpenSys/mysql/data') » USERPRF(MYSQL) MYSQLUSR('root') PASSWORD('root') CURINST('/QOpenSys/usr/local/mysql-5.1.30-i5os-power64')
    You should receive a Program Message indicating UPGRADE
    SUCCESSFUL! upon completion or an error message if there
    is a problem.You can view the upgrade programs progression and the
    error in the text file upgrade.log in the
    installation directory.
  
To start MySQL:
        Log into the System i server using the user profile create or
        specified during installation. By default, this is
        MYSQL.
      
          You should start mysqld_safe using a user
          that in the PASE environment has the id=0 (the equivalent of
          the standard Unix root user). If you do not
          use a user with this ID then the system will be unable to
          change the user when executing mysqld as
          set using --user option. If this happens,
          mysqld may be unable to read the files
          located within the MySQL data directory and the execution will
          fail.
        
        Enter the PASE environment using call
        qp2term.
      
        Start the MySQL server by changing to the installation directory
        and running mysqld_safe, specifying the user
        name used to install the server. The installer conveniently
        installs a symbolic link to the installation directory
        (mysql-5.0.42-i5os-power-32bit) as
        /opt/mysql/mysql:
      
> cd /opt/mysql/mysql > bin/mysqld_safe --user=mysql &
You should see a message similar to the following:
Starting mysqld daemon with databases »
     from /opt/mysql/mysql-enterprise-5.0.42-i5os-power-32bit/data
If you are having problems starting MySQL server, see Section 2.13.1.3, “Starting and Troubleshooting the MySQL Server”.
To stop MySQL:
        Log into the System i server using the user profile create or
        specified during installation. By default, this is
        MYSQL.
      
        Enter the PASE environment using call
        qp2term.
      
Stop the MySQL server by changing into the installation directory and running mysqladmin, specifying the user name used to install the server:
> cd /opt/mysql/mysql > bin/mysqladmin -u root shutdown
        If the session that you started and stopped MySQL are the same,
        you may get the log output from mysqld:
      
   STOPPING server from pid file »
     /opt/mysql/mysql-enterprise-5.0.42-i5os-power-32bit/data/I5DBX.RCHLAND.IBM.COM.pid
   070718 10:34:20  mysqld ended
If the sessions used to start and stop MySQL are different, you will not receive any confirmation of the shutdown.
        A problem has been identified with the installation process on
        DBCS systems. If you are having problems install MySQL on a DBCS
        system, you need to change your job's coded character set
        identifier (CSSID) to 37
        (EBCDIC) before executing the install
        command, INSMYSQL. To do this, determine your
        existing CSSID (using
        DSPJOB and selecting option 2), execute
        CHGJOB CSSID(37), run
        INSMYSQL to install MySQL and then execute
        CHGJOB again with your original
        CSSID.
      
If you want to use the Perl scripts that are included with MySQL, you need to download the iSeries Tools for Developers (5799-PTL). See http://www-03.ibm.com/servers/enable/site/porting/tools/.

User Comments
I have automated the startup process by creating a CLP and having it autostart in the ZENDCORE PHP SBS. So that when the Zend SBS is available, so is the MySQL daemon. I hope it may help.
Regards
Richard.
Senior iSeries Systems Engineer
Microlise Group Limited.
If anyone wants the source here it is:
PGM
DCL VAR(&CMD) TYPE(*CHAR) LEN(80)
DCL VAR(&PARM1) TYPE(*CHAR) LEN(20)
DCL VAR(&NULL) TYPE(*CHAR) LEN(1) VALUE(X'00')
CHGVAR VAR(&CMD) VALUE('/usr/local/mysql-5.0.37-aix5.2-powerpc-64bit/bin/mysql+
d_safe ')
CHGVAR VAR(&PARM1) VALUE(' --user=mysql &')
CHGVAR VAR(&CMD) VALUE(&CMD *TCAT &NULL)
CHGVAR VAR(&PARM1) VALUE(&PARM1 *TCAT &NULL)
PASESHELL:
CALL PGM(QP2SHELL) PARM(&CMD)
ENDPGM
Add your own comment.