Sziasztok!
A szolgáltatómnál az idióta 1 MB-os max_allowed_packet korlátba ütközöm a cache-tábláknál, még akkor is, ha töröltem a cache-t a MySQL-dump elkészítése előtt.
Kifejezetten ezeknél a tábláknál áll le az import, mert ezekben van a legtöbb egyszerre feltöltendő adat.
Történhet bármi gond, ha ezeknek a tábláknak csak a szerkezetét importálom, a tartalmát nem?
Vagy no para, majd elkészítik a modulok a cache-t úgyis?
Melyik modulhoz, modulokhoz kapcsolódik a téma?:
Drupal verzió:
nem
Nem lesz gond, a cache az cache. Igény szerint exportálás előtt ürítsd ki cache-t az oldalon.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Én is erre tippeltem, akkor no para
Szia! Köszi, én is erre tippeltem, és próbák után sem volt gond. Csak arra gondoltam, hogy talán lehet olyan modul, ami valamiért képtelen létezni a cache-be korábban betolt adatok nélkül, bár ez abszolúte nem lenne logikus, mert a gyorsítótár az valóban csak gyorsítótár. :D (De ki tudja, láttam én már karón varjút. :D)
Vagy ha pl. a Backup and
Vagy ha pl. a Backup and Migrate modullal intézed a backupjaidat, akkor az is alapból üresen exportálja a legtöbb cache táblát, csak egy-kettőben hagyja meg a rekordokat (most megnéztem, ezekben meghagyta: cache_l10n_update, cache_rules, cache_token, és még biztos lenne más is, de pl. a cache_form-ot kiürítette, ami legutóbb egy évekig elhanyagolt D6-os site-on nálam 3,5 GB-ra hízott :).
Védd az állatokat! ;)
Ez is jónak tűnik!
Köszi! Jóideje Drupalozom, de megmondom őszintén, a Backup and Migrate modullal még egyáltalán nincs tapasztalatom. Tesztcélú Drupalra már felraktam, de igazán még nem próbálgattam.
Akkor ez is teljes körű megoldás adatbázis mentésére, igaz? Tehát semmivel nem "több", ha phpMyAdminból vagy konzolról készítek mentést az adatbázis-struktúráról és a benne tárolt adatokról, sőt, ha jól értem, ez üres cache-táblákkal készít mentést.
Jelenleg az oldal fejlesztése abban a fázisban tart, hogy localhoston fejlesztek, és rendszeresen egyszerűen lecserélem az éles oldalon az egész adatbázist (korábbiak törlése, nem update-elgetek; meg persze FTP-n az újabb fájlokat is szinkronizálgatom WinSCP-vel), ezért fontos, hogy tényleg minden átkerüljön.
Mint közben megtudtam, a Drupal egyébként alapból sem törli a
cache_form
táblát teljes cache-törléskor (drush cc all
), erre itt a magyarázat:http://drupal.stackexchange.com/a/24950/2368
"You should not truncate the "cache_form" table, as it contains the data used from Drupal to validate them; if you delete that table, the form currently being submitted from the user would be invalidated, and the users would need to submit the form again."
Ezt igazolta, hogy csak ennél a táblánál ütköztem a szokásos 1 MB-os max_allowed_packet korlátba! Ezt csak úgy tudtam elkerülni, hogy a
cache_form
táblának csak a struktúráját vittem fel az éles szerverre, adatokat nem.Ezek szerint ezért hízott nálad is ekkorára ez a tábla. :)
Mondjuk IMHO ebben kitalálhatnának valami köztes állapotot. (pl. nagyon régen bekerült adatok nyugodtan mehetnek a kukába)
Az én tapasztalatom, hogy
Az én tapasztalatom, hogy mindig érdemes kiüríteni, mert importálásnál gyakran (nekem szinte mindig :) belehal a cache tartalmától. Akkor aztán lehet manuálisan törölni a fájlból...
...mit tudok: http://web.termuves.hu
phpMyAdminból kényelmesen kizárható egy-egy tábla
Na igen, a megrendelő által előfizetett tárhelyen is ez a helyzet.
Kerülő megoldásként azt szoktam csinálni (legalábbis egyelőre, míg az oldal úgyis fejlesztési fázisban van, tehát nem töltögetnek fel kívülről), hogy először ürítem az összes cache-t (
drush cc all
), majd phpMyAdminból acache_form
tábla kihagyásával exportálom az adatbázis tartalmát (Ctrl-lal kiszedem a kijelölést innen):Persze ezt valahogy így konzolról is meg lehet csinálni (vagy itt Conditional Dumps rész), de grafikus felületen ez egy kényelmes megoldás.
Az éles szerveren meg a
cache_form
tábla szerkezetét meghagyom, vagy csak azt az egyet viszem fel pluszban, manuálisan.A mysqldump parancsnak - ha
A mysqldump parancsnak - ha azzal csinaltad - van egy --no-extended-insert kapcsoloja. Ekkor nem egyben akarja beinzertalni a komplett cache tablat, hanem egyesevel - igy talan megkerulheted a korlatot.
--
Ezt próbáltam, de egyelőre hatástalannak tűnik
Ezt phpMyAdminból úgy szoktam elintézni, hogy bejelölöm az "include column names in every INSERT statement - Example: INSERT INTO tbl_name (col_A,col_B,col_C) VALUES (1,2,3)" részt, ami eszerint ekvivalens a
--no-extended-insert
kapcsolóval:http://www.ozerov.de/bigdump/faqs/
Meg elvileg ugyanitt a "Maximal length of created query" korlátozásával szintén lehetne csökkenteni az egyszerre felviendő adatmennyiséget:
Ettől függetlenül hatástalannak tűnik, mert a
cache_form
tábla túlzott mérete miatt ugyanúgy elakad az 1 MB-os max_allowed_packet korlátnál.Mekkora a cache-táblákban a legnagyobb `data` mező
Ha valakit érdekel, pl. így lehet kideríteni, az egyes cache-táblákban mekkora a legnagyobb méretű `data` mező:
A pontok helyére persze további esetleges cache-táblákat lehetne még írni.
Próbáltam megjelentetni róla könyvlapot a tippek-trükkök szekcióban, de úgy tűnik, valamiért nem lesz publikus egy darabig... :)