We describe the installation of MSQL from its original tar file, as distributed from ftp.bond.edu.au. We have tested this under IRIX 5.2 and 5.3 on DA831 and FNDAU clusters. On the DA831 INDIGO system, the entire installation process takes about 5 minutes.
We built MSQL on FNDAUB in the ~torretta private area. It is easy for a private user to build and run a version of mSQL for testing and developing purposes, without any interference to an 'official' version on the same system.
We follow the instructions given in the original README file. We skip the prescribed final 'make install' step, instead placing files in directories more compatible with a typical Fermilab installation.
-
tar xvf msql-1.0.7.tar
Extracts everything from the MSQL TAR file into ./msql-1.0.7
You can rename the msql-1.0.7 directory to anything you like.
In this example, we will use /home/torretta/msql.
- setenv MSQL_DIR `pwd`/msql-1.0.7
- cd $MSQL_DIR
- mkdir targets
- mkdir ups
-
Create the UPS setup file
cat >ups/setup.csh
#!/bin/csh
# make MiniSQl aliases
alias msql $MSQL_DIR/targets/target/msql/msql
alias msqld $MSQL_DIR/targets/target/msql/msqld
alias msqldump $MSQL_DIR/targets/target/msql/msqldump
alias msqlshow $MSQL_DIR/targets/target/msql/relshow
alias relshow $MSQL_DIR/targets/target/msql/relshow
alias msqladmin $MSQL_DIR/targets/target/msql/msqladmin
-
source ups/setup.csh
-
Make the Database Server directories
- setenv MSQL_HOME /home/torretta/msql/data
This can be any area you like. It holds the actual databases,
the msql.acl control file, and the msql.pid status file.
- mkdir $MSQL_HOME/msqldb
holds the data files.
Our local instllation skips the
make install
which would normally create this area.
-
mkdir $MSQL_HOME/msqldb/.tmp
-
Create an access control (ACL) file ( contents must be lower case)
cat >$MSQL_HOME/msql.acl
# MSQL access control (ACL) file
database=*
read=*
write=*
host=*.fnal.gov
access=local,remote
- Under IRIX 5, edit $MSQL_DIR/src/conf/site.mm.in
removing @LIBS@ from the EXTRA_LIB definition.
The @LIB@ element would cause the linking of incompatible
socket, nsl and gen libraries.The EXTRA_LIB problem causes
MSQL clients to not find usernames of NIS users.
-
If you run multiple MSQL servers on the same node,
edit $MSQL_DIR/src/common/site.h file.
Change MSQL_PORT and MSQL_UNIX_ADDR
from 4333 and /tmp/msql.sock to something like 4321 and /tmp/msql.4321
-
make target
This creates a target directory.
Under IRIX, this will be something like $MSQL_DIR/targets/IRIX-5.3-IP17
-
mv targets/`uname -s`-`uname -r`-`uname -m` targets/target
Renames the target directory to targets/target.
-
cd targets/target
-
./setup
setup will ask you a few things:
-
>> Top of install tree ?? [/usr/local/Minerva]
/home/torretta/msql/data
....enter the full pathname of $MSQL_HOME
-
>> Will this installation be running as root ? [y] no
-
>> What username will it run under ? torretta
-
>> Directory for pid file ? [${PID_DIR}]
/home/torretta/msql/data
....enter the full pathname of $MSQL_HOME
-
make
If you need to modify and rebuild an already installed MSQL, just remove the target directory with rm -r and perform the last five steps starting with make target .