Jump to content
  • Announcements

    • Xmat

      Pravidlo pro postování v TTT

      Do sekce Tipy, triky, tutoriály nepatří žádné dotazy.   Postujte sem vaše návody, tipy a různé další věci jež uznáte za vhodné sdělit zdejšímu osazenstvu, ale veškeré dotazy směřujte do sekce Všeobecná diskuse.
    • Replik

      Seznam návodů a důležitých témat v této sekci

      Pro lepší přehlednost jsem vytvořil tento seznam, který vás, méně zkušené, lépe provede touto sekcí. Věřím, že zde najdete, co hledáte. Vypsané jsou návody, které jsou oficiálně uznané jako návody. Běžné diskuze, které neposkytují postupy a rady zvěřejněny nejsou.   Instalace vlastního MaNGOS Serveru Díky těmto návodům budete (měli by jste být) schopni vytvořit a následně spustit váš vlastní server. Nastavení je pro verze s i bez datadisku.   Instalace MaNGOS Serveru (bez datadisku TBC) - Autor Benny Instalace MaNGOS Serveru (s datadiskem TBC) - Autor Malfik Instalace MaNGOS Serveru v prostředí Linux - Autor charlie Instalace MaNGOS Serveru v prostředí Linux - Autor kupkoid   Chyby a jejich řešení při přihlašování k serveru - Autor Cybe   Zálohování uživatelských dat   Dávkový soubor (BAT soubor) pro vytvoření SQL záloh - Autor Replik   Kompilování - tvoření vlastních release (revizí)   Tvorba kompilací pro Win32 (MangoScript) - Autor bLuma   Ostatní - těžko zařaditelné, ale neznamená to, že nejsou dobré   VIP Systém - Autor charlie Tvorba Webových stránek pro MaNGOS - Autor zahuba Tvorba teleportačních NPC (MangoScript) - Autor Replik Registrační web (původně předělaná SPORA) Funkční pro Antrix i MaNGOS - Autor Replik Nastavení a spuštění Minimanager pro MaNGOS - Autor BlackMartin Nastavení MaNGOS Website - Autor Artorius   Samozřejmě jsou zde i jiné návody, ale tyto jsou nejvíce používané, proto věřím, že vám budou nápomocné. Tuto sekci budeme upravovat podle potřeby. Pokud by jste něco nenašli nebo si nevěděli rady, hledejte na fóru a teprve potom založte vlastní topik. Pokud nějaký autor vytvoří kvalitní návod a chtěl by ho zveřejnit i v tomto seznamu, doporučuji, aby mi napsal zprávu skrze PM.   Díky a přeji hezký den na WoWResource   Replik
    • Aristo

      Příspěvky tam, kde nemají co dělat

      Dodržujte zákaz přispívání do topiků s repaky pokud si to zakladatelé nepřejí!! Opakované psaní příspěvků bude trestáno warnem.
    • Aristo

      Používání spoilerů

      Poslední dobou má většina uživatelů fora zvláštní nutkání postovat extrémně dlouhé texty nebo kódy, které zabírají v nejedenom případu i 80% obsahu celé stránky a hodně tak zvedají nepřehlednost v topiku. Chtěl bych všechny uživatele požádat, aby při postování citací, jakýchkoliv kódů, errorů, atp... delších než 30 řádků používali funkci spoileru.   Funkci vyvoláte příkazem [spoiler] text [/spoiler]   Ukázka:  
Sign in to follow this  
mirka

SQL Error 2006

Recommended Posts

Ahojte snažím se vytvořit wow server na patch 2.4.3 ale při nahrávání world databáze mi vyskočí chyba jak ji opravit. mám nejnovější oregon core i databázi :) :) :)

 

58iurwaojzqvzi82n21x.png

Edited by mirka

Share this post


Link to post
Share on other sites

v mysql.ini nebo mysql.cfg (umisteni a jmeno zalezi na OS) nastav:

 

[mysqld]
max_allowed_packet=16M

 

zrejme tam bude nejake mensi cislo :)

Share this post


Link to post
Share on other sites

Nevím jak ve starších, novějších..

Ale já mám verzi 5.5 a cesta je takto:

C:\Program Files\MySQL\MySQL Server 5.5\my-huge.ini

 

Tam je

# The MySQL server
[mysqld]
port  = 3306
socket  = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 1M
...
...

 

Tak stačí upravit

max_allowed_packet = 1M

 

na

max_allowed_packet = 16M

 

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

 

Jinak tuto chybu jsem vždy dostal, když jsem se snažil nahrát data s jedním INSERT INTO... tzn. že kód vypadal takto

INSERT INTO table VALUES
(0,0,0,0,0),
(0,0,0,0,0),
(0,0,0,0,0),
(0,0,0,0,0),
(0,0,0,0,0),
(0,0,0,0,0),
(0,0,0,0,0);
...................

 

A stačí to zkrátit, nebo každému datu dát vlastní INSERT, tzn. že kód bude takto

INSERT INTO table VALUES (0,0,0,0,0);
INSERT INTO table VALUES (0,0,0,0,0);
INSERT INTO table VALUES (0,0,0,0,0);
INSERT INTO table VALUES (0,0,0,0,0);
...................

 

Kapišto? :P Omlouvám se jestli v SQL mám chybu, nějako zapomínám, od té doby co používám DIBI.

Share this post


Link to post
Share on other sites

ahoj tak zkusila jsem to ale zase ta samá chyba. posílam zde databazi world http://uloz.to/xLzm5...on-database-zip

 

takže chyba je v oregoncore existuje nějaký emulator který ještě pracuje nebo alespon je funkční na 2.4.3 díky.

 

muze nekdo help? :blushing::in_love::clapping:

Edited by Eessencia
  • Downvote 2

Share this post


Link to post
Share on other sites

@mirka

Chyba určitě není v oregoncore. Jiný emulátor bych nedoporučoval - oregon je nejvíce vyvíjený.

 

Jak nahráváš tu databázi? Nejlepší by bylo, kdyby si SQL soubor nahrála přímo přes MySQL (je to nejrychlejší). Stačí když do příkazové řádky dáš něco jako:

 

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe" -u root -p --database NAZEV_DATABAZE < NAZEV_SOUBORU.sql

 

Popřípadě pro Linux:

 

mysql -u root -p --database NAZEV_DATABAZE < NAZEV_SOUBORU.sql

 

@Eessencia

Vicenásobný insert určitě nezpůsobuje tuto chybu, ba naopak, pro velké množství dat je vícenásobný insert mnohonásobně rychlejší a výsledný soubor je menší.

 

A používat config my-huge.ini na Windows nejde - alespoň u nových instalací je to konfigurace na Linux (linux socket atp.) - s tím server na Windows neběhne.

 

Databáze WoW jde nahrát i bez úpravy MySQL serveru (popř. SQL dumpu), jen se na tom musí použít správný nástroj (největší blbost je použít například Navicat, ten na velký objem dat není vůbec optimalizovaný).

Edited by Tomáš Kolinger

Share this post


Link to post
Share on other sites

@Eessencia

Vicenásobný insert určitě nezpůsobuje tuto chybu, ba naopak, pro velké množství dat je vícenásobný insert mnohonásobně rychlejší a výsledný soubor je menší.

 

A používat config my-huge.ini na Windows nejde - alespoň u nových instalací je to konfigurace na Linux (linux socket atp.) - s tím server na Windows neběhne.

 

Databáze WoW jde nahrát i bez úpravy MySQL serveru (popř. SQL dumpu), jen se na tom musí použít správný nástroj (největší blbost je použít například Navicat, ten na velký objem dat není vůbec optimalizovaný).

 

1.) Pro test jsem si nahrál do DB UDB, udělal dumb s mnohonásobným insertem a jednotným insertem (tj jeden insert pro vše vs. pro každá data vlastní insert).

- S mnohonásobným insertem dostanu chybu: MySQL has gone away. A je fuk, jestli to nahrávám přes SQLyog nebo MySQL konzoli.

- Pokud mají každá data svůj insert, tak se SQL nahraje v pořádku.

= Nerozumím tomu proč, já pokládám jen z tohoto pohledu tedy lepší, když májí každá data vlastní insert, popř. je mnohonásobný insert menší a rozdělený třeba po 20ti dotazech.

 

2.) Ok, to jsem nevěděl. Děkuji za upozornění.

 

3.) Používám SQLyog a MySQL konzoli.

 

Co se té pomoci pro Mirku týče.

Vzal jsem její databázi, nahrál ji u sebe, doplnil updaty její revize a odeslal zpět.

Tudíž problém není v OregonCore, ale v samotné databázi.. Nezkoumal jsem ji, nekoukal jsem ani dovnitř, ale dle Mirčina tvrzení je DB prázdná, nenačetli se NPC, ajp...

Na víc koumání jsem neměl čas, takže to bylo asi tak vše, co jsem udělal.

  • Upvote 1

Share this post


Link to post
Share on other sites

@Eessencia

Všechna data nesmí být v jednom insertu - to je naprostá hloupost. V emulátoru je tolik dat, že to jeden insert nikdy nemůže zvládnout (za normálních podmínek - max 1MB na jeden paket). Proto se vždy použije multi-insertu víc a tak se data odesílají po dávkách. Použití single-insertů taky situaci nevyřeší, jeden dotaz na jeden řádek je sebevražda, pro každý řádek se odesílá samostatný dotaz na MySQL server.

 

V případě takto hloupě provedeného dumpu je jediná možnost - nastavit direktivu max_allowed_packet na nějakou nesmyslně obrovskou hodnotu (aby pokryla největší tabulky - creature atp.), tj. třeba `max_allowed_packet = 256M`...

 

Proto radím všem: vždy používejte na vytváření a nahrávaní dumpů MySQL - nikoliv žádný externí program. Je to nejrychlejší a nejbezpečnější způsob.

 

Import:

 

mysql -u root -p NAZEV_DATABAZE < ZDROJOVY_SOUBOR.sql

 

Export:

 

mysqldump -u root -p --routines NAZEV_DATABAZE > CILOVY_SOUBOR.sql

 

Upozornění: v případě exportu je důležité přidat možnost "routines", to do souboru uloží i procedury a funkce - k tomu je potřeba uživatel root a nebo přístup do tabulky myql.func.

 

@mirka

Re-dumpnutou databázi máš tady - http://storage.kolin...re-database.rar, to už by ti fungovat mělo.

Edited by Tomáš Kolinger
  • Upvote 3

Share this post


Link to post
Share on other sites

@Eessencia

Všechna data nesmí být v jednom insertu - to je naprostá hloupost. V emulátoru je tolik dat, že to jeden insert nikdy nemůže zvládnout (za normálních podmínek - max 1MB na jeden paket). Proto se vždy použije multi-insertu víc a tak se data odesílají po dávkách. Použití single-insertů taky situaci nevyřeší, jeden dotaz na jeden řádek je sebevražda, pro každý řádek se odesílá samostatný dotaz na MySQL server.

 

V případě takto hloupě provedeného dumpu je jediná možnost - nastavit direktivu max_allowed_packet na nějakou nesmyslně obrovskou hodnotu (aby pokryla největší tabulky - creature atp.), tj. třeba `max_allowed_packet = 256M`...

 

Proto radím všem: vždy používejte na vytváření a nahrávaní dumpů MySQL - nikoliv žádný externí program. Je to nejrychlejší a nejbezpečnější způsob.

 

Import:

 

mysql -u root -p NAZEV_DATABAZE < ZDROJOVY_SOUBOR.sql

 

Export:

 

mysqldump -u root -p --routines NAZEV_DATABAZE > CILOVY_SOUBOR.sql

 

Upozornění: v případě exportu je důležité přidat možnost "routines", to do souboru uloží i procedury a funkce - k tomu je potřeba uživatel root a nebo přístup do tabulky myql.func.

 

@mirka

Re-dumpnutou databázi máš tady - http://storage.kolin...re-database.rar, to už by ti fungovat mělo.

dekuji moc mohu se zeptat jak si to fixol? dik :)

Share this post


Link to post
Share on other sites

Ono si stačí přečíst co jsem psal cca 5 řádků nad reakcí na tebe :D.

 

1. nastavit si na MySQL serveru v konfiguračním souboru "max_allowed_packet = 256M"

2. nahrát SQL soubor pomocí výše uvedeného příkazu

3. hotovo

Edited by Tomáš Kolinger
  • Upvote 1

Share this post


Link to post
Share on other sites

Ono si stačí přečíst co jsem psal cca 5 řádků nad reakcí na tebe :D.

 

1. nastavit si na MySQL serveru v konfiguračním souboru "max_allowed_packet = 256M"

2. nahrát SQL soubor pomocí výše uvedeného příkazu

3. hotovo

dekuju jeste raz mohu se zeptat na tve skype? dik :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×