Archiwa tagu: mysqldump

Error 2020: Got packet bigger than ‚max_allowed_packet’ bytes when dumping table

Podczas zrzutu bazy pojawia się error:
mysqldump -u user -phaslo baza >plik
mysqldump: Error 2020: Got packet bigger than ‚max_allowed_packet’ bytes when dumping table `lex_tresci` at row: 38566

Należy ustawić max_allowed_packet na wyższą wartość. Nie pomaga ustawienie w my.cnf. Należy dodać do wywołania mysqldumpa:
mysqldump –max_allowed_packet=512M -u user -phaslo baza >plik

Jak podzielić mysqldump -all na poszczególne bazy?

Komendą mysqldump z parametrem –all-databases można zrobić zrzut wszystkich baz na serwerze do jednego pliku. Powstaje zazwyczaj wielki plik, który ciężko przeglądać. Jak wyciągnąć z niego poszczególne bazy? Używając komendy csplit można zrobić to tak:

csplit –f "baza_" mysqlbackup0101.sql "/^CREATE DATABASE /" {*}

po wykonaniu takej komendy powstanie osobny plik baza_XX dla każdej bazy z pliku źródłowego.