Diff for /doc/build/Attic/loncapasqldatabase.html between versions 1.10 and 1.12

version 1.10, 2001/02/14 15:24:16 version 1.12, 2001/02/16 12:40:29
Line 8 Line 8
 Scott Harrison  Scott Harrison
 </P>  </P>
 <P>  <P>
 Last updated: 02/14/2001  Last updated: 02/15/2001
 </P>  </P>
 <P>  <P>
 This file describes issues associated with LON-CAPA  This file describes issues associated with LON-CAPA
Line 32  and a SQL database. Line 32  and a SQL database.
 </P>  </P>
 <H2>Important notes</H2>  <H2>Important notes</H2>
 <P>  <P>
   The current database is implemented assuming a non-adjustable
   architecture involving these data fields (specific to each version
   of a resource).
   <UL>
   <LI>title</LI>
   <LI>author</LI>
   <LI>subject</LI>
   <LI>notes</LI>
   <LI>abstract</LI>
   <LI>mime</LI>
   <LI>language</LI>
   <LI>creationdate</LI>
   <LI>lastrevisiondate</LI>
   <LI>owner</LI>
   <LI>copyright</LI>
   </UL>
   </P>
   <P>
   These commands create the loncapameta database.
   <PRE>
   mysql> CREATE DATABASE IF NOT EXISTS loncapameta
       -> CREATE TABLE IF NOT EXISTS resourceversions
   
   </PRE>
   </P>
   <P>
   An important quote from the manual:
   <BLOCKQUOTE>
   In MySQL Version 3.23.23 or later, you can also create special FULLTEXT indexes. They are used for full-text search. Only the MyISAM table type supports FULLTEXT indexes. They can be created only from
   VARCHAR and TEXT columns. Indexing always happens over the entire column and partial indexing is not supported. See section 25.2 MySQL Full-text Search for details. 
   </BLOCKQUOTE>
   </P>
   <P>
   I plan on using a MyISAM table type with 11 metadata fields of column 
   type=TEXT.
   </P>
   <P>
 It might be worthwhile to look at /usr/local/mysql/manual.html.  It might be worthwhile to look at /usr/local/mysql/manual.html.
 It is quite in depth.  It is quite in depth.
 </P>  </P>
Line 224  that is subsequently compiled). Line 261  that is subsequently compiled).
 wind up in /usr/local/mysql-3.23.33-pc-linux-gnu-i686 except for  wind up in /usr/local/mysql-3.23.33-pc-linux-gnu-i686 except for
 a link from /usr/local/mysql to /usr/local/mysql-3.23.33-pc-linux-gnu-i686  a link from /usr/local/mysql to /usr/local/mysql-3.23.33-pc-linux-gnu-i686
 and some files involved in system process handling (/etc/rc.d/*/*mysql).  and some files involved in system process handling (/etc/rc.d/*/*mysql).
   <PRE>
   (As user=root)
   cd /usr/local/;
   tar xzvf mysql-3.23.33-pc-linux-gnu-i686.tar.gz
   ln -s /usr/local/mysql-3.23.33-pc-linux-gnu-i686 mysql
   cd /usr/local/mysql
   chown -R www /usr/local/mysql/.
   chgrp -R users /usr/local/mysql/.
   chmod -R g-w,g-r,g-x /usr/local/mysql/.
   (probably also want chmod -R a-w,a-r,a-x /usr/local/mysql/.)
   
   Alter <TT>safe_mysqld</TT>
   and <TT>support-files/mysql.server</TT> to use 'localhosts' instead
   of `bin/hostname`.  Also, to use user 'www' instead of 'mysql'.
   
   (These changes could be done with /etc/my.cnf, but
   I think this approach makes sure the database NEVER
   gets screwed up due to somebody forgetting to install /etc/my.cnf).
   
   Change this line in mysql.server from
     pid_file=$datadir/`@HOSTNAME@`.pid
   to
     pid_file=$datadir/localhost.pid
   
   Change this line in safe_mysqld from
   user=root
   to
   user=www
   
   Change this line in safe_mysqld from
     pid_file=$DATADIR/`/bin/hostname`.pid
   to
     pid_file=$DATADIR/localhost.pid
   
   Change this line in safe_mysqld from
   test -z "$err_log"  && err_log=$DATADIR/`/bin/hostname`.err
   to
   test -z "$err_log"  && err_log=$DATADIR/localhost.err
   
   cp -p support-files/mysql.server /etc/rc.d/init.d/mysql
   chmod 755 /etc/rc.d/init.d/mysql
   /sbin/chkconfig --add mysql
   /etc/rc.d/init.d/mysql start
   
   </PRE>
 </P>  </P>
 <P>This is how I installed the Msql-Mysql-modules perl modules.  <P>This is how I installed the Msql-Mysql-modules perl modules.
 <PRE>  <PRE>
Line 248  contains the subdir 'include'. [/usr/loc Line 330  contains the subdir 'include'. [/usr/loc
 Which database should I use for testing the MySQL drivers? [test]   Which database should I use for testing the MySQL drivers? [test] 
 On which host is database test running (hostname, ip address  On which host is database test running (hostname, ip address
 or host:port) [localhost]   or host:port) [localhost] 
   User name for connecting to database test? [undef]
   Password for connecting to database test? [undef]
 [root@fenchurch Msql-Mysql-modules-1.2215]# make  [root@fenchurch Msql-Mysql-modules-1.2215]# make
 [root@fenchurch Msql-Mysql-modules-1.2215]# make test  [root@fenchurch Msql-Mysql-modules-1.2215]# make test
 make[1]: Entering directory `/home/user/Msql-Mysql-modules-1.2215/mysql'  make[1]: Entering directory `/home/user/Msql-Mysql-modules-1.2215/mysql'
Line 522  An up-to-date lond and lonsql. Line 606  An up-to-date lond and lonsql.
 </P>  </P>
 <H2>Testing</H2>  <H2>Testing</H2>
 <P>  <P>
   To test the backend MySQL database, a number of commands should be
   run after installation.
   <UL>
   <LI><TT>cd /usr/local/mysql/sql-bench; ./run-all-tests --small-test</TT></LI>
   <BR>without the --small-test flag, this test can take more than 10 hours!
   <LI><TT>cd /usr/local/mysql; bin/mysqladmin version</TT></LI>
   <LI><TT>cd /usr/local/mysql; bin/mysqladmin variables</TT></LI>
   <LI><TT>cd /usr/local/mysql; bin/mysqlshow</TT></LI>
   <LI><TT>cd /usr/local/mysql; bin/mysqlshow mysql</TT></LI>
   <LI><TT>cd /usr/local/mysql; bin/mysql -e "select host,db,user from db" mysql</TT></LI>
   <LI><TT>cd /usr/local/mysql/mysql-test; ./test-run-all</TT></LI>
   
   </UL>
   <P>
   These are sections of perl code which helps test the LON-CAPA network.
 <PRE>  <PRE>
 <STRONG>** TEST the database connection with my current tester.pl code  <STRONG>** TEST the database connection with my current tester.pl code
 which mimics what command will eventually be sent through lonc.</STRONG>  which mimics what command will eventually be sent through lonc.</STRONG>

Removed from v.1.10  
changed lines
  Added in v.1.12


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>