Guide to installing MySQL, JDBC and OpenSSL on OpenVMS Alpha ------------------------------------------------------------ This document describes how to install MySQL, JDBC and OpenSSL on OpenVMS Alpha. A Java program is included to exercise the JDBC connection. Author: Alex Wong, July 2004, alw1746 at yahoo com au - Tested environment: MySQL 4.0.16, JDBC 3.0.16, OpenSSL 1.1-B, ZLIB 1.1-4, OpenVMS 7.3 Alpha - Download and install LDDRIVER (LD063) from freeware 5 CD. $ @SYS$UPDATE:VMSINSTAL - Setup ODS-5 disk for MySQL to use: $ LD CREATE/size=200000 DATA1:[000000]ODS5_1.DAT !100mb ODS-5 log disk $ LD CONNECT/LOG DATA1:[000000]ODS5_1.DAT LDA1 $ INIT/STRUCT=5 LDA1: DATA2 $ MOUNT/SYSTEM LDA1: DATA2 DATA2 - Put following lines into SYSTARTUP_VMS.COM: $ LD CONNECT/LOG DATA1:[000000]ODS5_1.DAT LDA1 $ MOUNT/SYSTEM LDA1: DATA2 DATA2 - Download SSL from: http://h71000.www7.hp.com/openvms/products/ssl/ssl_download.html - Unpack and install: $ RUN CPQ-AXPVMS-SSL-V0101-B-1.PCSI-DCX_AXPEXE $ PROD INS SSL - Put the following lines into SYSTARTUP_VMS.COM $ @SYS$STARTUP:SSL$STARTUP.COM - Put the following lines into SYSHUTDWN.COM $ @SYS$STARTUP:SSL$SHUTDOWN.COM - Put the following lines into SYLOGIN.COM $ @SSL$COM:SSL$UTILS - To start the certification tool, enter: $ @SSL$COM:SSL$CERT_TOOL (nothing needs to be done though) - Download ZLIB from: http://www.pi-net.dyndns.org/anonymous/kits/ - Unpack and install: $ UNZIP "-V" ZLIB-V0101-4-1 $ PROD INS ZLIB - Put the following lines into SYSTARTUP_VMS.COM $ @SYS$COMMON:[LIBZ]STARTUP - Download MySQL from: http://www.pi-net.dyndns.org/anonymous/kits/ - Unpack and install into an ODS-5 disk(SYS$BATCH must be enabled): $ unzip "-V" MYSQL-V0400-16-1.ZIP $ PROD INS MYSQL/DEST=DATA2:[000000] !DATA2 is ODS-5 $ SET DEFAULT DATA2:[MYSQL.VMS] $ @LOGICALS "/SYSTEM/EXEC" $ @SYMBOLS $ @[.MYSQL]FIRST_START_MYSQLD $ @[.MYSQL]MYSQL_PRIVILEGES - Set a password for root: $ mysql > use mysql; > update user set Password=PASSWORD('') where User='root'; #change root pwd > update user set host='%' where user='root'; #allow root access from any host > select Host, User, Password from user; > flush privileges; > exit - Check root access with: $ MYSQLADMIN -u root -p status Enter password: - To shutdown MySQL, must enter command twice: $ MYSQLADMIN -u root -p SHUTDOWN $ MYSQLADMIN -u root -p SHUTDOWN - Put the following lines into SYSTARTUP_VMS.COM $ @data2:[MYSQL.VMS]MYSQL_STARTUP - Put the following lines into SYLOGIN.COM $ @MYSQL_ROOT:[VMS]SYMBOLS - Download the MySQL Connector/J (JDBC driver) from www.mysql.com and unpack it. $ unzip mysql-connector-java-3.0.16-ga.zip -d data2:[tmp] !data2 is an ODS-5 disk $ copy data2:[mysql-connector-java-3_0_16-ga]mysql-connector-java-3_0_16-ga-bin.jar data2:[class]mysqljdbc.jar - Update the JAVA$CLASSPATH logical eg: define/sys/nolog JAVA$CLASSPATH [],data2:[class],data2:[class]vs.jar,data2:[class]mysqljdbc.jar Java program to test MySQL installation with JDBC ------------------------------------------------- - Create a sample database(customer), table(contact) and some rows in MySQL: $ mysql -u root -p Enter password: ***** > create database customer; > use customer; > create table contact (CustId varchar(16) not null, Firstname varchar(60),Lastname varchar(60), email varchar(100), unique index contact(CustId)); > explain contact; > insert into contact values ('001','Freddy','Fender','box3@heaven.com'); > insert into contact values ('002','Mickey','Mouse','walt@disney.com'); > insert into contact values ('003','Don','Burke','don@backyard.com.au'); > select * from contact; > exit - Create the following Java program called JdbcTest.java: // JdbcTest displays and modifies rows in contact table in customer database. // Build: javac JdbcTest.java // Run: java JdbcTest // Alex Wong, July 2004 import java.sql.*; public class JdbcTest { public static void main(String[] argv) { Statement stmt=null; ResultSet rs=null; Connection con=null; String query,custId,firstName,lastName,email; String driver="org.gjt.mm.mysql.Driver"; !JDBC driver class String url="jdbc:mysql://localhost/customer"; !database url String user="root"; !db user String pwd=""; !db pwd try { Class.forName(driver); con=DriverManager.getConnection(url,user,pwd); stmt = con.createStatement(); query="select * from contact"; rs=stmt.executeQuery(query); while (rs.next()) { custId=rs.getString("CustId"); firstName=rs.getString("Firstname"); lastName=rs.getString("Lastname"); email=rs.getString("email"); System.out.println(custId+" "+firstName+" "+lastName+" "+email); } query="update contact set email='xyz@yahoo.com.au' where CustId='002'"; stmt.executeUpdate(query); query="delete from contact where CustId='003'"; stmt.executeUpdate(query); } catch (Exception e) { e.printStackTrace(); } finally { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (con != null) con.close(); } catch (Exception e) {} } } } - The source file must be in STREAM_LF format. $ convert/fdl=sys$common:[java$141.com]stream_lf.fdl JdbcTest.java JdbcTest.java