[LON-CAPA-cvs] cvs: loncom /build/system_dependencies sqltest.pl
harris41
lon-capa-cvs@mail.lon-capa.org
Fri, 10 May 2002 01:32:38 -0000
harris41 Thu May 9 21:32:38 2002 EDT
Modified files:
/loncom/build/system_dependencies sqltest.pl
Log:
making output of test more intelligent when DBI:mysql:loncapa
command doesn't work; BUG 428
Index: loncom/build/system_dependencies/sqltest.pl
diff -u loncom/build/system_dependencies/sqltest.pl:1.2 loncom/build/system_dependencies/sqltest.pl:1.3
--- loncom/build/system_dependencies/sqltest.pl:1.2 Sun Sep 30 17:00:43 2001
+++ loncom/build/system_dependencies/sqltest.pl Thu May 9 21:32:38 2002
@@ -66,6 +66,60 @@
{ RaiseError =>0,PrintError=>0})
) {
print "Cannot connect to database!\n";
+ my $checkDBImodule=`perl pmvers DBI 2>/dev/null`;
+ my $checkMYSQLmodule=`perl pmvers Mysql 2>/dev/null`;
+ my $checkprocess=`/etc/rc.d/init.d/mysqld status`;
+ if (!$checkDBImodule) {
+ print "**** ERROR **** SYSTEM IS MISSING THE DBI PERL ".
+ "MODULE (DBI.pm)\n";
+ }
+ elsif (!$checkMYSQLmodule) {
+ print "**** ERROR **** SYSTEM IS MISSING THE MYSQL PERL ".
+ "MODULE (Mysql.pm)\n";
+ }
+ elsif (!-e '/etc/rc.d/init.d/mysqld') {
+ print "**** ERROR **** IT APPEARS THAT THE MYSQL SERVER HAS NOT ".
+ "BEEN INSTALLED\n";
+ }
+ elsif ($checkprocess=~/is stopped/) {
+ print "**** ERROR **** IT APPEARS THAT THE MYSQL SERVER IS NOT ".
+ "RUNNING\n";
+ print(<<END);
+To fix temporarily, run the command:
+ /etc/rc.d/init.d/mysqld start
+
+You may also want to check and see that mysqld is started on boot time.
+
+ /sbin/chkconfig --list mysqld
+
+This is bad output:
+mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
+
+This is good output:
+mysqld 0:off 1:off 2:off 3:on 4:on 5:on 6:off
+
+To configure mysqld to launch correctly upon system startup, type the command:
+ /sbin/chkconfig --level 345 mysqld on
+END
+ }
+ else {
+ print "**** ERROR **** IT APPEARS THAT WWW\@LOCALHOST AND/OR ".
+ "PASSWORD ARE NOT CORRECTLY ENABLED\n";
+ print(<<END);
+To diagnose, try logging in from the command line with
+ mysql -u www -p mysql
+and use the lonSqlAccess password
+listed in loncapa.conf (PerlSetVar lonSqlAccess ....).
+If this does not work, you may need to REMOVE the www\@localhost MySQL user.
+mysql -u root -p mysql
+mysql> delete from user where user='www'
+And then, you will need to repeat the MySQL configuration steps described at:
+ http://install.lon-capa.org/.
+
+**** NOTE **** ANOTHER possibility is that you are not running
+a compatible set of DBI, Mysql perl modules and MySQL server software.
+END
+ }
exit 1;
}
}