mam spory problem z przeniesieniem jeszcze większej tabeli.
Tabela ma ponad 30GB, próbowałem ją przenieść tak
INSERT INTO baza_2.tabela SELECT * FROM baza_1.tabela
na tabeli baza_2.tabel mam zdjęte wszystkie indeksy. zapis i odczyt z obu tabel został wyłączony(to znaczy żaden skrypt z nich obecnie nie korzysta)
To zapytanie wywalało mi błąd ERROR 1206 (HY000): The total number of locks exceeds the lock table size
więc administrator serwera ustawił mi innodb_buffer_pool_size = 16M
a zapytanie zmieniłem tak
SET @@AUTOCOMMIT=0; INSERT INTO baza_2.tabela SELECT * FROM baza_1.tabela; COMMIT;
i dalej to samo...
zmieniłem zapytanie na
SET @@AUTOCOMMIT=0; LOCK TABLES baza_2.tabela WRITE, baza_1.tabela READ; INSERT INTO baza_2.tabela SELECT * FROM baza_1.tabela; UNLOCK TABLES; COMMIT;
i na razie jeszcze się wykonuje i mam nadzieję że się uda.
Tylko teraz nasuwa mi się pytanie jak tego typu operacje powinno się wykonywać ?
Na pewno jakiś mądry człowiek miał już tego typu problemy wcześniej, tylko za żadne skarby nie mogę znaleźć jak to zrobić

owszem znalazłem jakieś sposoby ale one wymagają wyłączenia bazy i kopiowania plików z danymi, ale na to nie mogę sobie pozwolić - niemoŋe wyłączyć bazy, a tym bardziej ryzykować uszkodzenia danych.
Na pozostałych tabelach w bazie 2 odbywa się normalna praca, baza 1 nie jest używana - ale musi cały czas wisieć jako archiwum.