HI
I have tried 3 times installing Drupal and I get futher each time.
Thing is I can't seem to find any error docs or what the errors mean.

I stick them in Goole and search there.

I realize most of the install errors are mysql config, but wondering if the developers can give some guidance on here
as to what the problem may be for other users to see.

Cheers
Bob

CommentFileSizeAuthor
#5 install.php_.patch1.06 KBpancho

Comments

Crell’s picture

Well, no, we can't. Not unless you show us what the errors are. :-)

sepeck’s picture

and known answers are in the handbook here: http://drupal.org/Troubleshooting-FAQ

wavesound’s picture

HI
Thanks for the help
Re the errors I have sent them all many times, seems I'm sending them to support
and they dont show up.
I now realise you have to come here first.

Looking at the FAQ gives me a clue.

Here is the first attempt on my dev box server1
****************************************************

Fatal error: Table 'rokpadata.users' doesn't exist query: SELECT u.*, s.* FROM users u INNER JOIN sessions s ON u.uid = s.uid WHERE s.sid = 'd473a5ff7145759a4777919c0fda44ab' AND u.status < 3 LIMIT 0, 1 in /usr/share/drupal/includes/database.mysql.inc on line 125

***************************************

Is this telling me that the install script didnt build the DB?

On my Live server I get this:

**************************************

Warning: Table 'rokpadata.access' doesn't exist query: SELECT CASE WHEN status=1 THEN 0 ELSE 1 END FROM access WHERE type = 'host' AND LOWER('81.104.175.13') LIKE LOWER(mask) ORDER BY status DESC LIMIT 0, 1 in /home/4858/rokpacardiff/www.rokpacardiff.com/public_html/drupal-5/includes/database.mysql.inc on line 172

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/4858/rokpacardiff/www.rokpacardiff.com/public_html/drupal-5/includes/database.mysql.inc:172) in /home/4858/rokpacardiff/www.rokpacardiff.com/public_html/drupal-5/includes/bootstrap.inc on line 811

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/4858/rokpacardiff/www.rokpacardiff.com/public_html/drupal-5/includes/database.mysql.inc:172) in /home/4858/rokpacardiff/www.rokpacardiff.com/public_html/drupal-5/includes/bootstrap.inc on line 811

Warning: Table 'rokpadata.cache' doesn't exist query: SELECT data, created, headers, expire FROM cache WHERE cid = 'variables' in /home/4858/rokpacardiff/www.rokpacardiff.com/public_html/drupal-5/includes/database.mysql.inc on line 172

*********************************************

I assume that this is actually logging in and finding a db.

The DB is rokpadata and the user is
rokpauser

I'm trying to get the charity onto Drupal so they can update the site themselves, it's getting to big at:

www.rokpacardiff.com

Many thanks for your time

Bob

Crell’s picture

Project: Documentation » Drupal core
Version: » 5.1
Component: User Guide » base system

Yes, it sounds like the database is not being created properly. I'm assuming that you're using Drupal 5.1, and if you're not you should be. :-) Refile this issue if that's not correct.

Make sure that the MySQL user you are using has permissions to create, alter, and drop tables, and has create temporary tables permission. It will need all of those for Drupal to function properly. If it doesn't, it won't be able to create the tables and you'll get errors like you're seeing.

If that doesn't do it, try doing a fresh install and then immediately go check your database to see if the tables it's talking about are there. If that, then that's a bug in the installer and we'll need to know your exact PHP version, MySQL version, Apache version, and the permissions your MySQL user has.

pancho’s picture

Title: Very Little in the way of Error guidance » No tables created because of illegal $db_prefix
Component: base system » install system
Assigned: wavesound » pancho
Category: support » bug
Priority: Normal » Critical
Status: Active » Needs review
StatusFileSize
new1.06 KB

I'm changing this to a critical bug report!

Currently, the install script allows colons (.) in the $db_prefix. However,

Before MySQL 5.1.6, table names cannot contain ‘/’, ‘\’, ‘.’, or characters that are not allowed in a filename.

(see MySQL Reference Manual)

It is a safe assumption that SQL table names must begin with a letter (a-z) and may contain letters (a-z), digits (0-9) and underscores (_), but no other characters.

As the maximum length for the table name is 64, I propose limiting $db_prefix to 16 characters.

I enclose a patch against the HEAD version of install.php that enforces the correct validation check using the correct regular expression:

/^[A-Za-z][A-Za-z0-9_]{0,15}$/

This bugfix should be ported to 4.7 as well.

Steven’s picture

Status: Needs review » Closed (works as designed)

Actually, the problem here seems to be periods (.), not colons (:). And, there is a very good reason to allow them: in PGSQL, they are special prefixes whose name I can't remember, while in MySQL they can be used to share tables across databases.

If you enter "foo." as a prefix, it means all tables will be created in the "foo" database. This is not so useful for global prefixing, but useful for prefixing individual tables. Still, I think we should keep the '.' as allowed character.