as far as upgrades on your platform, thats now out of my league. I don't think I'm qualified to give you an answer.
also, you may want to reply all -- you seem to be sending mail to me specifically. no doubt the rest of the list may want to comment.
jeff Rhino wrote:
By "it" (in your first sentence), I assume you mean InnoDB as opposed to MySQL. We've been using MySQL without difficulty for several months.
I just checked with the system admin and he says that he installed the binary from an RPM. We are running Mandrake 9.1 - I thought we were using RedHat 9.2 but I was mistaken - and he says that he used the MySQL distribution that is available from Mandrake.
However, it turns out that we *didn't* install the MySQL-Max RPM, only the "Common" RPM. [I can't find any mention of a "Common" RPM in the MySQL manual but Clive says it is probably Mandrake's re-bundling of one or more of the RPMs available from the MySQL download page.] On reading the RPM documentation, he found that the MySQL-Max RPM contains the InnoDB support. [That's something I did NOT find in the MySQL manual! All it says is that MySQL-Max offers "additional capabilities" without saying what those are. Aside to the people doing the documentation for MySQL: PLEASE indicate somewhere in the InnoDB and/or Installing chapters that the MySQL-Max RPM needs to be installed in order to get InnoDB support!!!]
As further confirmation, we did searches on the server and could not find any file named 'my.cnf' or 'my.ini' anywhere on the server.
So that must be the problem: if we simply install the MySQL-Max RPM, we should get our InnoDB support. Right?
Now, some followup questions.
1. Can we simply install the MySQL-Max RPM without any further preparation or should we do database backups first? If we need to do backups, which approach should we use and why? The backups chapter lists several different approaches without discussing the pros and cons of each approach in any way. We don't have enough MySQL experience to know if we should be doing BACKUP TABLE, mysqldump, or mysqlhotcopy. Can someone clue us in?
2. Does the MySQL-Max RPM need to be at the same level as the other MySQL RPM - 4.0.11 - or can the MySQL-Max RPM be later, like 4.0.15?
3. I was advised in another post to upgrade to something newer than 4.0.11 as this is obsolete. Would we be okay to go to 4.0.15 or should we go with 4.0.17? Clive strongly prefers to use the Mandrake RPMs over the MySQL RPMs. According to the Mandrake docs, the Mandrake version of 4.0.15 seems is the latest stable version they have while the Mandrake version of 4.0.17 is a "cooker", which appears to be a synonym for an alpha or beta. I'd rather stay with something stable than mess with alpha or beta code but if 4.0.15 is not significantly better than 4.0.11, I'd rather stay with 4.0.11 because it works fine and is less work than upgrading to a newer version.
Rhino
----- Original Message ----- From: "Jeff Mathis" <[EMAIL PROTECTED]>
To: "Rhino" <[EMAIL PROTECTED]>; "mysql" <[EMAIL PROTECTED]>
Sent: Monday, February 16, 2004 11:15 AM
Subject: Re: Newbie Question
its possible it was never installed for some reason. did you install the mysql binary? you may simply be running on defaults. at any rate, i'm willing to bet the farm that when you get your system configured right, it will behave as you expect.
is there a permission problem that is not allowing you to see the file? what user runs mysqld?
there must be an example of a my.cnf file somewhere on the mysql website. grab it, set up innodb data files, and if you want, log files.
good luck
jeff
Rhino wrote:
I tried adding that space after the closing parenthesis in both Create
Table
statements; it made no difference at all.
You're probably right about the InnoDB support not being turned on. I
read
the article about configuring my.cnf and wanted to try playing with the settings but I'm darned if I can find the my.cnf file!
a) I have no file called /etc/my.cnf. b) I think MySQL was installed from an RPM as a binary but I don't
recall
for sure. I'm not sure though so I checked /usr/local/mysql/data: I have
a
/usr/local but no mysql directory in /usr/local. I also checked /usr/local/var: I have no var directory in /usr/local. c) I have no idea what was specified with --defaults-extra-file= and
have no
idea how to find out. d) I have no file called .my.cnf in my home directory (/home/rhino).
Any idea where I can find my my.cnf file? (For what it's worth, I tried
find
/ -name 'my.cnf' but got the message "Permission denied". I'm not sure
why
permission is denied; I don't use Linux very often and haven't used it
much
in several months but I know the 'find' command worked last time I tried it....).
Anyway, if anyone could tell me how to find my.cnf and verify that
InnoDB is
set up correctly, I'd appreciate it.
Rhino
----- Original Message ----- From: "Jeff Mathis" <[EMAIL PROTECTED]>
To: "Rhino" <[EMAIL PROTECTED]>
Cc: "mysql" <[EMAIL PROTECTED]>
Sent: Friday, February 13, 2004 6:44 PM
Subject: Re: Newbie Question
might be as simple as putting a space after your closing parenthesis on the create table statement.
either that, or your mysql install somehow doesn't have innodb table support. have you edited your my.cnf file and enabled the innodb parameters, specifically log and data files?
Rhino wrote:
I'm new to MySQL but I have extensive experience with DB2 so I'm
getting
quite confused about how MySQL is supposed to work.
I am using MySQL 4.0.11 on a Linux server running RedHat 9.2. I am trying to create a pair of InnoDB tables that are related to one
another
via a foreign key. I created the tables successfully but when I try to insert a row into the child table that violates the foreign key, MySQL loads the bad row, even though the foreign key doesn't exist!
Here is the script I used to create and populate the tables: -------------------------------------------------------------- use Sample;
drop table if exists dept; create table dept( deptno char(3) not null, deptname varchar(36) not null, mgrno char(6), primary key(deptno) )Type=InnoDB;
drop table if exists emp; create table emp( empno char(6) not null, firstnme char(12) not null, midinit char(1), lastname char(15) not null, workdept char(3) not null, salary dec(9,2) not null, primary key(empno), index(workdept), foreign key(workdept) references dept(deptno) on delete restrict )Type=InnoDB;
insert into dept values ('A00', 'Administration', '000010'), ('D11', 'Manufacturing', '000020'), ('E21', 'Education', '000030');
insert into emp values ('000010', 'Christine', 'I', 'Haas','A00',50000.00), ('000020', 'Cliff', ' ', 'Jones', 'D11', 30000.00), ('000030', 'FK', ' ', 'Mistake', 'X99', 12345.67), ('000040', 'Brad', ' ', 'Dean', 'E21', 35000.00); -------------------------------------------------------------------
I got a very big clue when I ran this command: show table status from Sample;
It showed that my two tables were type "MyISAM", *not* "InnoDB". If my tables really are "MyISAM", then I'm not surprised that the foreign key constraint doesn't work since MyISAM doesn't support foreign keys, at least as I understand the manual.
However, this doesn't answer the big question: *Why* aren't my tables InnoDB since I explicitly defined them that way??
Can any MySQL veterans clear up this mystery for me?
Rhino --- rhino1 AT sympatico DOT ca "If you want the best seat in the house, you'll have to move the cat."
-- Jeff Mathis, Ph.D. 505-955-1434 The Prediction Company [EMAIL PROTECTED] 525 Camino de los Marquez, Ste 6 http://www.predict.com Santa Fe, NM 87505
-- Jeff Mathis, Ph.D. 505-955-1434 The Prediction Company [EMAIL PROTECTED] 525 Camino de los Marquez, Ste 6 http://www.predict.com Santa Fe, NM 87505
-- Jeff Mathis, Ph.D. 505-955-1434 The Prediction Company [EMAIL PROTECTED] 525 Camino de los Marquez, Ste 6 http://www.predict.com Santa Fe, NM 87505
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]