![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam spory problem z przeniesieniem jeszcze większej tabeli. Tabela ma ponad 30GB, próbowałem ją przenieść tak
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
i dalej to samo... zmieniłem zapytanie na
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. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
a może po prostu
mysqldump baza_1.tabela | mysql -u user -p baza_2 ? |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
ale to będzie waliło praktycznie takimi samymi insertami i powoli mordowało bazę
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
jak dodasz '--no-create-info --extended-insert' to będziesz miał multi inserty więc będzie się wykonywało dużo szybciej.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 21:39 |