diff options
author | sasha@mysql.sashanet.com <> | 2000-12-13 10:32:54 -0700 |
---|---|---|
committer | sasha@mysql.sashanet.com <> | 2000-12-13 10:32:54 -0700 |
commit | a143a9bb78ad4ae5825c5d857343fe8c6e7b9e6e (patch) | |
tree | 87852ac9748e81168cda3a32f25f31e644f66001 /mysql-test/install_test_db.sh | |
parent | 8ebc971504e55a3a6ff5c7fffd599270e79c1955 (diff) | |
download | mariadb-git-a143a9bb78ad4ae5825c5d857343fe8c6e7b9e6e.tar.gz |
install_test_db.sh fixes for distribution
mysql-test-run.sh fixes for distribution
Makefile.am Fixes for distribution
Diffstat (limited to 'mysql-test/install_test_db.sh')
-rwxr-xr-x | mysql-test/install_test_db.sh | 219 |
1 files changed, 219 insertions, 0 deletions
diff --git a/mysql-test/install_test_db.sh b/mysql-test/install_test_db.sh new file mode 100755 index 00000000000..be037b06538 --- /dev/null +++ b/mysql-test/install_test_db.sh @@ -0,0 +1,219 @@ +#!/bin/sh +# Copyright (C) 1997, 1998, 1999 TCX DataKonsult AB & Monty Program KB & Detron HB +# For a more info consult the file COPYRIGHT distributed with this file + +# This scripts creates the privilege tables db, host, user, tables_priv, +# columns_priv in the mysql database, as well as the func table. + +if [ x$1 = x"-bin" ]; then + shift 1 + execdir=../bin + bindir=../bin + BINARY_DIST=1 + fix_bin=mysql-test +else + execdir=../sql + bindir=../client + fix_bin=. +fi + +if [ x$1 = x"-slave" ] +then + shift 1 + data=var/slave-data + ldata=$fix_bin/var/slave-data + logdir=var/log +else + data=var/lib + ldata=$fix_bin/var/lib + logdir=var/log +fi + +mdata=$data/mysql + + +if test ! -x $execdir/mysqld +then + echo "mysqld is missing - looked in $execdir" + exit 1 +fi + +# On IRIX hostname is in /usr/bsd so add this to the path +PATH=$PATH:/usr/bsd +hostname=`hostname` # Install this too in the user table + +resolved=127.0.0.1 + + +# Create database directories mysql & test +if [ -d $data ] ; then rm -rf $data ; fi +mkdir -p $data $data/mysql $data/test + +#for error messages +if [ x$BINARY_DIST = x1 ] ; then +basedir=.. +else +basedir=. +rm -rf share +mkdir share +ln -sf ../../sql/share share/mysql +fi + +#create the directory for logs +mkdir -p $logdir + +# Initialize variables +c_d="" i_d="" +c_h="" i_h="" +c_u="" i_u="" +c_f="" i_f="" +c_t="" c_c="" + +# Check for old tables +if test ! -f $mdata/db.frm +then + # mysqld --bootstrap wants one command/line + c_d="$c_d CREATE TABLE db (" + c_d="$c_d Host char(60) DEFAULT '' NOT NULL," + c_d="$c_d Db char(64) DEFAULT '' NOT NULL," + c_d="$c_d User char(16) DEFAULT '' NOT NULL," + c_d="$c_d Select_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_d="$c_d Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_d="$c_d Update_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_d="$c_d Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_d="$c_d Create_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_d="$c_d Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_d="$c_d Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_d="$c_d References_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_d="$c_d Index_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_d="$c_d Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_d="$c_d PRIMARY KEY Host (Host,Db,User)," + c_d="$c_d KEY User (User)" + c_d="$c_d )" + c_d="$c_d comment='Database privileges';" + + i_d="INSERT INTO db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y'); + INSERT INTO db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y');" +fi + +if test ! -f $mdata/host.frm +then + c_h="$c_h CREATE TABLE host (" + c_h="$c_h Host char(60) DEFAULT '' NOT NULL," + c_h="$c_h Db char(64) DEFAULT '' NOT NULL," + c_h="$c_h Select_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_h="$c_h Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_h="$c_h Update_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_h="$c_h Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_h="$c_h Create_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_h="$c_h Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_h="$c_h Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_h="$c_h References_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_h="$c_h Index_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_h="$c_h Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_h="$c_h PRIMARY KEY Host (Host,Db)" + c_h="$c_h )" + c_h="$c_h comment='Host privileges; Merged with database privileges';" +fi + +if test ! -f $mdata/user.frm +then + c_u="$c_u CREATE TABLE user (" + c_u="$c_u Host char(60) DEFAULT '' NOT NULL," + c_u="$c_u User char(16) DEFAULT '' NOT NULL," + c_u="$c_u Password char(16) DEFAULT '' NOT NULL," + c_u="$c_u Select_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u Update_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u Create_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u Reload_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u Shutdown_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u Process_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u File_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u References_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u Index_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL," + c_u="$c_u PRIMARY KEY Host (Host,User)" + c_u="$c_u )" + c_u="$c_u comment='Users and global privileges';" + + i_u="INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); + INSERT INTO user VALUES ('$hostname','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); + + REPLACE INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); + REPLACE INTO user VALUES ('$hostname','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); + + INSERT INTO user VALUES ('localhost','','','N','N','N','N','N','N','N','N','N','N','N','N','N','N'); + INSERT INTO user VALUES ('$hostname','','','N','N','N','N','N','N','N','N','N','N','N','N','N','N');" +fi + +if test ! -f $mdata/func.frm +then + c_f="$c_f CREATE TABLE func (" + c_f="$c_f name char(64) DEFAULT '' NOT NULL," + c_f="$c_f ret tinyint(1) DEFAULT '0' NOT NULL," + c_f="$c_f dl char(128) DEFAULT '' NOT NULL," + c_f="$c_f type enum ('function','aggregate') NOT NULL," + c_f="$c_f PRIMARY KEY (name)" + c_f="$c_f )" + c_f="$c_f comment='User defined functions';" +fi + +if test ! -f $mdata/tables_priv.frm +then + c_t="$c_t CREATE TABLE tables_priv (" + c_t="$c_t Host char(60) DEFAULT '' NOT NULL," + c_t="$c_t Db char(64) DEFAULT '' NOT NULL," + c_t="$c_t User char(16) DEFAULT '' NOT NULL," + c_t="$c_t Table_name char(60) DEFAULT '' NOT NULL," + c_t="$c_t Grantor char(77) DEFAULT '' NOT NULL," + c_t="$c_t Timestamp timestamp(14)," + c_t="$c_t Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter') DEFAULT '' NOT NULL," + c_t="$c_t Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL," + c_t="$c_t PRIMARY KEY (Host,Db,User,Table_name)," + c_t="$c_t KEY Grantor (Grantor)" + c_t="$c_t )" + c_t="$c_t comment='Table privileges';" +fi + +if test ! -f $mdata/columns_priv.frm +then + c_c="$c_c CREATE TABLE columns_priv (" + c_c="$c_c Host char(60) DEFAULT '' NOT NULL," + c_c="$c_c Db char(64) DEFAULT '' NOT NULL," + c_c="$c_c User char(16) DEFAULT '' NOT NULL," + c_c="$c_c Table_name char(64) DEFAULT '' NOT NULL," + c_c="$c_c Column_name char(64) DEFAULT '' NOT NULL," + c_c="$c_c Timestamp timestamp(14)," + c_c="$c_c Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL," + c_c="$c_c PRIMARY KEY (Host,Db,User,Table_name,Column_name)" + c_c="$c_c )" + c_c="$c_c comment='Column privileges';" +fi + +if $execdir/mysqld --no-defaults --bootstrap --skip-grant-tables \ + --basedir=$basedir --datadir=$ldata << END_OF_DATA +use mysql; +$c_d +$i_d + +$c_h +$i_h + +$c_u +$i_u + +$c_f +$i_f + +$c_t +$c_c +END_OF_DATA +then + exit 0 +else + exit 1 +fi |