upgrade staruszka do wersji z dziś, błedy w bazie
witam aktualizuje mojego staruszka i napotkałem na poniższy problem. podpowie ktoś rozwiązanie?
Wystąpiły błędy w obsłudze bazy danych! Zapytanie: CREATE TABLE macs ( id int(11) NOT NULL auto_increment, mac varchar(17) DEFAULT '' NOT NULL, nodeid int(11) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (nodeid) REFERENCES nodes (id) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE KEY mac (mac, nodeid) ) ENGINE=InnoDB Błąd: Can't create table 'lms.macs' (errno: 121)
Zapytanie: INSERT INTO macs (mac, nodeid) SELECT mac, id FROM nodes Błąd: Table 'lms.macs' doesn't exist
pierwotnie było LMS: 1.11-cvs (1.1006/1.29) LMSBD: 1.11-cvs (1.49/1.55) DB: 2009101600
pozdrawiam
W dniu 12.03.2012 20:55, Robert napisał(a):
witam
Witaj.
aktualizuje mojego staruszka i napotkałem na poniższy problem. podpowie ktoś rozwiązanie?
Wystąpiły błędy w obsłudze bazy danych! Zapytanie: CREATE TABLE macs ( id int(11) NOT NULL auto_increment, mac varchar(17) DEFAULT '' NOT NULL, nodeid int(11) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (nodeid) REFERENCES nodes (id) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE KEY mac (mac, nodeid) ) ENGINE=InnoDB Błąd: Can't create table 'lms.macs' (errno: 121)
Zapytanie: INSERT INTO macs (mac, nodeid) SELECT mac, id FROM nodes Błąd: Table 'lms.macs' doesn't exist
Co Ci wyświetla się jak spróbujesz zapytania: CREATE TABLE macs ( id int(11) NOT NULL auto_increment, mac varchar(17) DEFAULT '' NOT NULL, nodeid int(11) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (nodeid) REFERENCES nodes (id) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE KEY mac (mac, nodeid) ) ENGINE=InnoDB; wykonać w konsoli MySQL? Jaka wersja MySQL?
pierwotnie było
LMS: 1.11-cvs (1.1006/1.29)
LMSBD: 1.11-cvs (1.49/1.55)
DB: 2009101600
pozdrawiam
Co Ci wyświetla się jak spróbujesz zapytania: CREATE TABLE macs ( id int(11) NOT NULL auto_increment, mac varchar(17) DEFAULT '' NOT NULL, nodeid int(11) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (nodeid) REFERENCES nodes (id) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE KEY mac (mac, nodeid) ) ENGINE=InnoDB; wykonać w konsoli MySQL? Jaka wersja MySQL?
ERROR 1005 (HY000): Can't create table 'lms.macs' (errno: 121) mysqld Ver 5.1.58-1
W dniu 12.03.2012 22:38, Robert napisał(a):
Co Ci wyświetla się jak spróbujesz zapytania: CREATE TABLE macs ( id int(11) NOT NULL auto_increment, mac varchar(17) DEFAULT '' NOT NULL, nodeid int(11) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (nodeid) REFERENCES nodes (id) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE KEY mac (mac, nodeid) ) ENGINE=InnoDB; wykonać w konsoli MySQL? Jaka wersja MySQL?
ERROR 1005 (HY000): Can't create table 'lms.macs' (errno: 121) mysqld Ver 5.1.58-1
A to samo jako administrator silnika MySQL (zwykle root)?
Dnia poniedziałek, 12 marca 2012 o 22:54:05 Tomasz Chiliński napisał(a):
W dniu 12.03.2012 22:38, Robert napisał(a):
Co Ci wyświetla się jak spróbujesz zapytania: CREATE TABLE macs ( id int(11) NOT NULL auto_increment, mac varchar(17) DEFAULT '' NOT NULL, nodeid int(11) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (nodeid) REFERENCES nodes (id) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE KEY mac (mac, nodeid) ) ENGINE=InnoDB; wykonać w konsoli MySQL? Jaka wersja MySQL?
ERROR 1005 (HY000): Can't create table 'lms.macs' (errno: 121) mysqld Ver 5.1.58-1
A to samo jako administrator silnika MySQL (zwykle root)?
robione z roota z takim komunikatem
W dniu 12 marca 2012 20:55 użytkownik Robert cyberm@sarocom.net napisał:
**
witam
aktualizuje mojego staruszka i napotkałem na poniższy problem. podpowie ktoś rozwiązanie?
Wystąpiły błędy w obsłudze bazy danych! Zapytanie: CREATE TABLE macs ( id int(11) NOT NULL auto_increment, mac varchar(17) DEFAULT '' NOT NULL, nodeid int(11) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (nodeid) REFERENCES nodes (id) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE KEY mac (mac, nodeid) ) ENGINE=InnoDB Błąd: Can't create table 'lms.macs' (errno: 121)
Zapytanie: INSERT INTO macs (mac, nodeid) SELECT mac, id FROM nodes Błąd: Table 'lms.macs' doesn't exist
zauważ, że za każdym kliknięciem F5 masz inny błąd. w tym czasie twoja baza jest upgradeowana. klikaj F5 tyle razy az błędy znikną. weź pod uwagę, czy twój użytkownik bazy może tworzyć funkcje w bazie. założe się, że nie ;) na czas upgradeu możesz w lms.ini wpisać użytkownika root, albo później "ręcznie" pododawać funkcje i widoki
Dnia poniedziałek, 12 marca 2012 o 22:17:46 Marcin Romanowski napisał(a):
W dniu 12 marca 2012 20:55 użytkownik Robert cyberm@sarocom.net napisał:
**
witam
aktualizuje mojego staruszka i napotkałem na poniższy problem. podpowie ktoś rozwiązanie?
Wystąpiły błędy w obsłudze bazy danych! Zapytanie: CREATE TABLE macs ( id int(11) NOT NULL auto_increment, mac varchar(17) DEFAULT '' NOT NULL, nodeid int(11) NOT NULL, PRIMARY KEY (id), FOREIGN KEY (nodeid) REFERENCES nodes (id) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE KEY mac (mac, nodeid) ) ENGINE=InnoDB Błąd: Can't create table 'lms.macs' (errno: 121)
Zapytanie: INSERT INTO macs (mac, nodeid) SELECT mac, id FROM nodes Błąd: Table 'lms.macs' doesn't exist
zauważ, że za każdym kliknięciem F5 masz inny błąd. w tym czasie twoja baza jest upgradeowana. klikaj F5 tyle razy az błędy znikną. weź pod uwagę, czy twój użytkownik bazy może tworzyć funkcje w bazie. założe się, że nie ;) na czas upgradeu możesz w lms.ini wpisać użytkownika root, albo później "ręcznie" pododawać funkcje i widoki
pracuje z lmsem od początku jego istnienia :) wiem że błędy będą się zmieniały tyle że problemy nie rozwiązane potem się nawarstwiają. użytkownik ma odpowiednie prawa zresztą z roota jest tak samo (ręcznie z konsoli też nie można wykonać zapytania w tym problem).
W dniu 12 marca 2012 23:04 użytkownik Robert cyberm@sarocom.net napisał:
Błąd: Can't create table 'lms.macs' (errno: 121)
Zapytanie: INSERT INTO macs (mac, nodeid) SELECT mac, id FROM nodes Błąd: Table 'lms.macs' doesn't exist
ten błąd spowodowany błedem poprzednim
pracuje z lmsem od początku jego istnienia :) wiem że błędy będą się zmieniały tyle że problemy nie rozwiązane potem się nawarstwiają. użytkownik ma odpowiednie prawa zresztą z roota jest tak samo (ręcznie z konsoli też nie można wykonać zapytania w tym problem).
ok, spokojnie. zerknąłeś do mysqla co oznacza błąd 121?
http://forums.mysql.com/read.php?22,33999,156491#msg-156491 "This error occurs when a foreign key constraint for the same field exist. For Me I had product table and subcattable. In subcattable I had a foreign key constraint of cascade delete on productid in product table. I renamed both the tables and tried to create fresh product table and subcattable. Product table was created properly but subcattable gave the error Can't create table (errno: 121)
I deleted the renamed subcattable. Then it was fineThis error occurs when a foreign key constraint for the same field exist. For Me I had product table and subcattable. In subcattable I had a foreign key constraint of cascade delete on productid in product table. I renamed both the tables and tried to create fresh product table and subcattable. Product table was created properly but subcattable gave the error Can't create table (errno: 121)
I deleted the renamed subcattable. Then it was fine"
może pomoże. nadmieniam, że nie jestem guru z mysqla.
Dnia poniedziałek, 12 marca 2012 o 23:11:50 Marcin Romanowski napisał(a):
W dniu 12 marca 2012 23:04 użytkownik Robert cyberm@sarocom.net napisał:
Błąd: Can't create table 'lms.macs' (errno: 121)
Zapytanie: INSERT INTO macs (mac, nodeid) SELECT mac, id FROM nodes Błąd: Table 'lms.macs' doesn't exist
ten błąd spowodowany błedem poprzednim
wiem...
ok, spokojnie.
jestem spokojny :-)
może pomoże. nadmieniam, że nie jestem guru z mysqla.
rzecz w tym że ja również nie, dlatego piszę tutaj, pokornie pytając kolegów znających bazy lepiej :-)
a czy twoj mysql obsługuje silnik InnoDB?
W dniu 12.03.2012 23:46, Robert napisał(a):
Dnia poniedziałek, 12 marca 2012 o 23:11:50 Marcin Romanowski napisał(a):
W dniu 12 marca 2012 23:04 użytkownik Robert cyberm@sarocom.net napisał:
Błąd: Can't create table 'lms.macs' (errno: 121)
Zapytanie: INSERT INTO macs (mac, nodeid) SELECT mac, id FROM
nodes
Błąd: Table 'lms.macs' doesn't exist
ten błąd spowodowany błedem poprzednim
wiem...
ok, spokojnie.
jestem spokojny :-)
może pomoże. nadmieniam, że nie jestem guru z mysqla.
rzecz w tym że ja również nie, dlatego piszę tutaj, pokornie pytając kolegów znających bazy lepiej :-)
Nie masz na dysku w katalogu o nazwie bazy danych pliku lms*.frm? Możesz zrobić zrzut samego schematu bazy danych LMS i przesłać tutaj?
Nie masz na dysku w katalogu o nazwie bazy danych pliku lms*.frm?
nie ma niczego takiego
Możesz zrobić zrzut samego schematu bazy danych LMS i przesłać tutaj?
-- -- Struktura tabeli dla `nodes` -- CREATE TABLE IF NOT EXISTS `nodes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL DEFAULT '', `ipaddr` int(16) unsigned NOT NULL DEFAULT '0', `ownerid` int(11) NOT NULL DEFAULT '0', `creationdate` int(11) NOT NULL DEFAULT '0', `moddate` int(11) NOT NULL DEFAULT '0', `creatorid` int(11) NOT NULL DEFAULT '0', `modid` int(11) NOT NULL DEFAULT '0', `netdev` int(11) DEFAULT NULL, `access` tinyint(1) NOT NULL DEFAULT '1', `warning` tinyint(1) NOT NULL DEFAULT '0', `lastonline` int(11) NOT NULL DEFAULT '0', `linktype` tinyint(1) NOT NULL DEFAULT '0', `info` text NOT NULL, `passwd` varchar(16) NOT NULL DEFAULT '', `ipaddr_pub` int(16) unsigned NOT NULL DEFAULT '0', `location` text NOT NULL, `chkmac` tinyint(1) NOT NULL DEFAULT '1', `halfduplex` tinyint(1) NOT NULL DEFAULT '0', `port` smallint(6) NOT NULL DEFAULT '0', `nas` int(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `nodeid_2` (`id`,`name`), KEY `nodeid` (`id`), KEY `netdev` (`netdev`), KEY `ownerid` (`ownerid`), KEY `ipaddr_pub` (`ipaddr_pub`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=2169 ;
-- -- Wyzwalacze `nodes` -- DROP TRIGGER IF EXISTS `trigger1`; DELIMITER // CREATE TRIGGER `trigger1` BEFORE UPDATE ON `nodes` FOR EACH ROW BEGIN if old.warning <> new.warning then IF NEW.warning=0 THEN SET NEW.info = concat(NEW.info, "<font color=blue> <b>Komunikat wyłączony</b></font> ", now(),"<br>"); end if; IF NEW.warning=1 THEN SET NEW.info = concat(NEW.info, "<font color=blue> <b>Komunikat włączony</b></font> ", now(), "<br>"); end if; end if; if old.access <> new.access then IF NEW.access=0 THEN SET NEW.info = concat(NEW.info, "<font color=red> <b>Ograniczony dostęp</b></font> ",now(), "<br>"); end if; IF NEW.access=1 THEN SET NEW.info = concat(NEW.info, "<font color=red> <b>Pełny dostęp</b></font> ", now(), "<br>"); end if; end if; end // DELIMITER ; --
trochę się rozjechało ale mam nadzieje że się przyda. zapytanie odnosi się to tabeli nodes więc wkleiłem tylko tą tabele (całość jest przydługa)
W dniu 12.03.2012 23:04, Robert napisał(a):
Dnia poniedziałek, 12 marca 2012 o 22:17:46 Marcin Romanowski napisał(a):
W dniu 12 marca 2012 20:55 użytkownik Robert cyberm@sarocom.net napisał:
**
witam
aktualizuje mojego staruszka i napotkałem na poniższy problem.
podpowie
ktoś rozwiązanie?
Wystąpiły błędy w obsłudze bazy danych! Zapytanie: CREATE TABLE macs ( id int(11) NOT NULL auto_increment,
mac
varchar(17) DEFAULT '' NOT NULL, nodeid int(11) NOT NULL, PRIMARY
KEY
(id), FOREIGN KEY (nodeid) REFERENCES nodes (id) ON DELETE CASCADE
ON
UPDATE CASCADE, UNIQUE KEY mac (mac, nodeid) ) ENGINE=InnoDB Błąd: Can't create table 'lms.macs' (errno: 121)
Zapytanie: INSERT INTO macs (mac, nodeid) SELECT mac, id FROM
nodes
Błąd: Table 'lms.macs' doesn't exist
zauważ, że za każdym kliknięciem F5 masz inny błąd. w tym czasie twoja baza jest upgradeowana. klikaj F5 tyle razy az błędy znikną. weź pod uwagę, czy twój użytkownik bazy może tworzyć funkcje w bazie. założe się, że nie ;) na czas upgradeu możesz w lms.ini wpisać użytkownika root, albo później "ręcznie" pododawać funkcje i widoki
pracuje z lmsem od początku jego istnienia :) wiem że błędy będą się zmieniały tyle że problemy nie rozwiązane potem się nawarstwiają. użytkownik ma odpowiednie prawa zresztą z roota jest tak samo (ręcznie z konsoli też nie można wykonać zapytania w tym problem).
Jaką wersje MySQL posiadasz? Czy na pewno obsługuje ona klucze obce (FOREIGN KEYS)?
W dniu 12 marca 2012 20:55 użytkownik Robert cyberm@sarocom.net napisał:
**
witam
aktualizuje mojego staruszka i napotkałem na poniższy problem. podpowie ktoś rozwiązanie? ON UPDATE CASCADE, UNIQUE KEY mac (mac, nodeid) ) ENGINE=InnoDB
co ci pokazuje: mysql> show engines; +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO | +------------+---------+----------------------------------------------------------------+--------------+------+------------+ 8 rows in set (0.00 sec)
mysql>
Dnia wtorek, 13 marca 2012 o 09:21:37 Marcin napisał(a):
W dniu 12 marca 2012 20:55 użytkownik Robert cyberm@sarocom.net napisał:
**
witam
aktualizuje mojego staruszka i napotkałem na poniższy problem. podpowie ktoś rozwiązanie? ON UPDATE CASCADE, UNIQUE KEY mac (mac, nodeid) ) ENGINE=InnoDB
co ci pokazuje: mysql> show engines; +------------+---------+--------------------------------------------------- -------------+--------------+------+------------+
| Engine | Support |
Comment | Transactions | XA | Savepoints | +------------+---------+--------------------------------------------------- -------------+--------------+------+------------+
| InnoDB | YES | Supports transactions, row-level locking, and
foreign keys | YES | YES | YES |
| MRG_MYISAM | YES | Collection of identical MyISAM
tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it
disappears) | NO | NO | NO |
| CSV | YES | CSV storage
engine | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary
tables | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage
engine | NULL | NULL | NULL |
| ARCHIVE | YES | Archive storage
engine | NO | NO | NO |
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great
performance | NO | NO | NO | +------------+---------+--------------------------------------------------- -------------+--------------+------+------------+ 8 rows in set (0.00 sec)
mysql>
mysql> show engines; +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | MyISAM | YES | Default engine as of MySQL 3.23 with great performance | NO | NO | NO | +------------+---------+----------------------------------------------------------------+--------------+------+------------+
uczestnicy (4)
-
Marcin
-
Marcin Romanowski
-
Robert
-
Tomasz Chiliński