DownloadAndInstallationMySQL5122

Where to download kits

The kits of MySQL on OpenVMS can be download from:

http://www.pi-net.dyndns.org/anonymous/kits/axp/ for Alpha processors (TBS)

http://www.pi-net.dyndns.org/anonymous/kits/ia64/ for Itanium processors (Available Jan 17, 2008)

Requirement

Alpha platform

  • OpenVMS 7.3-2 update V11 (latest V14).
  • Zlib V1.2.3

Itanium platform

  • OpenVMS 8.3
  • patch VMS83I_ICXXL V0300 minimum on Itanium
  • Zlib V1.2.3 may be installed before MySQL but this is not mandatory as starting from MySQL 5.1.22 the MySQL kit include this library.

How to install MySQL 5.1.22 on OpenVMS

By default, the installation procedure installs MySQL in the SYS$COMMON:[MYSQL051] directory. To install it in another directory, dev:[dir], use the /DESTINATION parameter of the PRODUCT command. In this case, MySQL will be installed in the dev:[dir.MYSQL] directory.

New installation

A recorded session of an installation can be view at http://vmspython.dyndns.org/anonymous/demo/install_mysql05122.htm

  1. Make the directory which holds the ZIP file your default directory
  2. Extract the PCSI kit from the ZIP archive.
    $ UNZIP "-V" MYSQL051-V2200-0-1.ZIP
  3. Install MySQL to your chosen destination directory.
    $ PRODUCT INSTALL MYSQL051  (default)
    • or ...
    $ PRODUCT INSTALL MYSQL051 /DESTINATION=dev:[dir]
  4. Change the default directory to the VMS-specific directory and run the two DCL procedure files, LOGICALS.COM and SYMBOLS.COM, to define the necessary logicals and symbols for MySQL.
    $ SET DEFAULT SYS$COMMON:[MYSQL051.VMS]  (default)
    • or ...
    $ SET DEFAULT dev:[dir.MYSQL051.VMS]
    • then ...
    $ @LOGICALS "/SYSTEM/EXEC"
    $ @SYMBOLS
  5. Configure the MySQL package to suit your environment by editing the file MYSQL051_ROOT:[VMS]my.cnf and MYSQL051_ROOT:[VMS.MYSQL]run_mysqld.com
    $ copy my.cnf_template my.cnf/prot=w:re
    $ edit my.cnf
          ...
    $ copy [.mysql]run_mysqld.com_template [.mysql]run_mysqld.com/prot=w:re
    $ edit [.mysql]run_mysqld.com
          ...
  6. Run the special DCL procedure FIRST_START_MYSQLD.COM to start the MySQL server for the first time.
    $ @[.MYSQL]FIRST_START_MYSQLD [Batch_Queue_Name]
    • The optional parameter is the queue name use to start the server (default SYS$BATCH)
    • and wait here a few moments for the database to be created (usually 60 seconds, but this depend on how large is your database).
    • You can use the DCL command 'show system/process=MYSQL051_SERVER' and wait until this process disapear.
  7. Review the creation log (optional).
    $ type/page mysql051_root:[mysql_server]mysqld.log
  8. Start the server
    $ @[.MYSQL]START_MYSQLD [Batch_Queue_Name]
    • The optional parameter is the queue name use to start the server (default SYS$BATCH)
  9. Connect to the master system table and display the existing password for ROOT (should be "" at this point).
    $ mysql -u root mysql
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 21
    Server version: 5.1.22-rc-log Source distribution
    
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    
    mysql> select Host, User, Password from user;
    +-----------------+------+----------+
    | Host            | User | Password |
    +-----------------+------+----------+
    | localhost       | root |          |
    | sg1.sysgroup.fr | root |          |
    | 127.0.0.1       | root |          |
    +-----------------+------+----------+
    3 rows in set (0.05 sec)
  10. IMPORTANT! Define a password for the ROOT MySQL account.

    mysql> update user set Password=PASSWORD('myrootpassword') where User='root';
    Query OK, 3 rows affected (0.08 sec)
    Rows matched: 3  Changed: 3  Warnings: 0
    
    mysql> select Host, User, Password from user;
    +-----------------+------+-------------------------------------------+
    | Host            | User | Password                                  |
    +-----------------+------+-------------------------------------------+
    | localhost       | root | *86BC8DED2FD8B98E17C30C0DC4586A4277A6811A |
    | sg1.sysgroup.fr | root | *86BC8DED2FD8B98E17C30C0DC4586A4277A6811A |
    | 127.0.0.1       | root | *86BC8DED2FD8B98E17C30C0DC4586A4277A6811A |
    +-----------------+------+-------------------------------------------+
    3 rows in set (0.00 sec)
    
    mysql> flush privileges;
    Bye
    $
  11. (Optional): You must also change the HOST field contents if you want to access MySQL from another host using the ROOT account. For example, setting HOST to '%' allows access from anywhere.
  12. (Optional): Verify your password and/or host changes took effect.

$ MYSQLADMIN -u root -p STATUS
Enter password:
Uptime: 25  Threads: 1  Questions: 1  Slow queries: 0  Opens: 6
Flush tables: 1  Open tables: 0  Queries per second avg: 0.040
$

You should now have a running MySQL 5.1.22 server!

  1. (Optional): Load the help tables.

$ set default mysql051_root:[vms]
$ mysql -uroot -pmyrootpassword mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.22-rc-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> source fill_help_tables.sql
...
mysql> exit;
Bye
$

New SYSUAF Account

This installation procedure creates the unprivileged SYSUAF account MYSQL051_SRV to run the server. After installation is complete, you will want to review the security settings on all volumes, directories, and files this account will access during operation and adjust them according to your needs.

Test the installation

Recent