Autor Zpráva
smiesek
Profil
Mám problém se dohledat nějakého správného řešení a postupu nastavení pro import větší velikosti databáze, než je 2MB, což je zpravidla omezeno přímo v phpmyadmin.

Vždy pokud jsem se podívala na nějaké doporučení a nebo řešení, stejně mi to dle něj nešlo.

Ráda bych prosila přímo doporučení a nejlépe s postupem a obrázky, jak nastavit, aby mi vše fungovalo bez problému a bez omezení.
Zkoušela jsem i pomocí youtube se dohledat nějakého návodu, ale taky bez úspěchu.

Jde mi o bezproblemový import databáze jak pro localhost, tak následně pro/na ostré weby.

Pro localhost využívám XAMPP.

Hledala jsem návody pro bigdump, phpmyadminer, sqldump, ale vždy mě to něco brzdilo :(
mimochodec
Profil
Omezení velikosti importu záleží na nastavení serveru. Já se teď třeba dívám tam, kde mám svoje weby a čtu: Maximální velikost: 1 024MiB. Takže v případě menší hodnoty by mělo být možné domluvit se s tím, u koho ten web běží.

To ale není jediné řešení. Datový soubor bývá většinou velmi dobře komprimovatelný. Takže bych ho zkusil zabalit do zipu a možná se do těch 2 MB vejde. Jestli ne, tak stačí si ten soubor otevřít nějakým editorem a rozsekat na menší kousky. Nejde o nic jiného, než řadu příkazů CREATE a INSERT. Jde jen o to pohlídat si, aby se to neuseklo uprostřed nějakého nedokončeného INSERTu.

30 MB není pro textové úpravy zrovna málo, ale myslím, že pspad si s tím ještě poradí.

Každý z těch malých nasekaných kousků lze samozřejmě před importem zazipovat. Je to práce nepříjemná, ale jestli to je jednorázové, dá se to přežít.
Alphard
Profil
Limit 2 MB souvisí s omezením s omezením uploadu, ne importem do databáze. Adminer (doporučuji, dle mého názoru nejlepší webový správce) umí zpracovat soubor nahraný přes FTP.

Pak je samozřejmě otázka, jestli to nespadne na obvyklém 30 s limitu, ale zkusit se to může. Kdyby spadlo, bude třeba už opravdu uvažovat o změně nastavení nebo rozdělení souboru. Pokud si export děláte sami, může být lepší ty největší tabulky vyexportovat samostatně, než se snažit dělit výsledký velký soubor.
mimochodec
Profil
Alphard:
Limit 2 MB souvisí s omezením s omezením uploadu

Určitě? Měl jsem za to, že to je omezení ze strany PMA. Které je samozřejmě podřízeno limitu nastavenému pro php, ale je to jiná hodnota.
Alphard
Profil
Jestli má PMA vlastní omezení, je to jeho blbost a opravdu to nevím, už léta ho nepoužívám. V Admineru limit odpovídá možnostem uploadu.
smiesek
Profil
Jde o to, že testuji stránky na localhostu a následně běží na ostrém webu a tam třeba má jedna tabulka databáze 8 MB, tak si nevím rady, jak ji úspěšně importovat na localhost a nebo zpět na ostrý web, nedělá mi případně problém databázi rozdělit po počtech tabulek, ale trápí mě celková velikost jedné tabulky pokud má přes 2 MB.
Tori
Profil
smiesek:
V PMA si na localhostu můžete nastavit adresář, do kterého si uložíte dump databáze, a pak v PMA místo uploadu souboru vyberete tenhle už uložený soubor, může mít klidně 100MB. Takže omezení na max. velikost uplod. souboru se vůbec neuplatní. Ale může se projevit omezení max. doby běhu skriptu - nevím, jestli PMA si to samo nějak řeší nebo ne.
smiesek
Profil
Tori:
Ale to já právě se nikde nemohu dohledat žádného návodu jak to úspěšně řešit.

Všude čtu, jak je možné měnit hodnoty v souborech php.ini apod. ale mě prostě to přes nic nijak nejde :(
Kajman
Profil
smiesek:
Umožňuje váš hosting povolit vzdálený přístup do databáze pro konkrétní IP? Pak byste se nemusela omezovat jen na webové nástroje.

Jinak exportování nebývá problém. Bývá problém s importem a to se ve zmíněném admineru lehce řeší nahráním adminer.sql souboru k tomu admineru přes ftp či scp.
smiesek
Profil
Kajman:
IP adresa si myslím by mi nic neřešila, já ji nemám stálou, takže i kdyby mi nějakou nastavili, tak mi to nepomůže.

Ale já vůbec netuším jak řešit ani import na localhostu.
Prostě nemůžu nikde najít video podle kterého bych si to mohla udělat.
Medvídek
Profil
mimochodec:
Určitě? Měl jsem za to, že to je omezení ze strany PMA. Které je samozřejmě podřízeno limitu nastavenému pro php, ale je to jiná hodnota.
Jde pouze o konfiguraci PHP, konkrétně nastavení:

post_max_size = 8M
upload_max_filesize = 2M
Kajman
Profil
smiesek:
Ale já vůbec netuším jak řešit ani import na localhostu.

- stáhněte si adminer (jeden php soubor)
- dejte si ho do document rootu lokálního webu
- soubor se zálohou přejmenujte na adminer.sql a nahrejte do stejného adresáře
- jděte na adminer v prohlížeči (např. http://localhost/adminer-4.1.0-mysql-cs.php )
- přihlašte se do lokální databáze
- vlevo zvolte odkaz import
- v pravé části je import "Ze serveru", který použije nachystaný adminer.sql

- (až to budete dělat na ostrém serveru, nezapomeňte adminer.sql ostranit nebo k němu zakázat přístup, ať si nikdo cizí nestáhne data)
smiesek
Profil
Kajman:
ano to jsem udělala, ale import je omezený na 2MB

Tak by to šlo třeba vyřešit přes příkazové řádky? Ale zase mi to píše že systém nemůže nalézt uvedený soubor, tak nevím kam jej mám dát aby ho našel
Medvídek
Profil
smiesek:
Lze: mysql -u username -p database_name < file.sql
smiesek
Profil
Medvídek:
O to se snažím, ale nevloží se mi do existující databáze tabulky
mysql > mysql -u root -p test < C:\Users\Admin\Desktop\test.sql

po enter se mi vloží další řádek začínající
->
Medvídek
Profil
smiesek:
Příkaz co jsem posílal nebyl přímo pro mysql konzoli, ale pro klasický wokení CMD, viz:

C:\wamp\bin\mysql\mysql5.5.24\bin>mysql -u root -p test < D:\test.sql

Pokud chcete přímo z konzole, nejprve musíte vybrat DB (use DATABASE_NAME;) a poté přes příkaz
source D:\test.sql;
Kajman
Profil
smiesek:
tak nevím kam jej mám dát aby ho našel

Viz [#9]. Soubor pojmenujte jako adminer.sql a nahrajte ho také do rootu webu k souboru adminer-4.1.0-mysql-cs.php

Přes příkazový řádek to na localhostu půjde. Ale pro zpětné nahrání asi budete pro ten adminer muset sáhnout.
smiesek
Profil
Kajman:
já ten adminer mám stahnutý, ale pořád je tam omezení na těch 2MB

Medvídek:
nerozumím tedy správnému postupu
Dostala jsem se tedy přes příkazový řádek do složky mysql> kam jsem následně zadala use test; ale píše mi to, že je přístup pro localhost odepřen

já jsem se pomocí příkazového řádku snažila dostat do mysql.exe, to jsem pak spustila a nabídl se řádek mysql> kam jsem následně zadala
mysql -u root -p test < C:\Users\Admin\Desktop\test.sql
a D: složku tu nemám
Medvídek
Profil
smiesek:
Pokud chcete pracovat přímo přes konzoli, tak by měl být postup takovýto:

C:\Users\Medvidek>C:\wamp\bin\mysql\mysql5.5.24\bin\mysql -u root -p
Enter password: ***
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.5.24-log MySQL Community Server (GPL)

mysql> USE test;
Database changed

mysql> source C:\Users\Medvidek\Desktop\test.sql

Query OK, 115 rows affected (0.01 sec)
Records: 115  Duplicates: 0  Warnings: 0

Query OK, 115 rows affected (0.01 sec)
Records: 115  Duplicates: 0  Warnings: 0

Query OK, 14 rows affected (0.00 sec)
Records: 14  Duplicates: 0  Warnings: 0

Query OK, 0 rows affected (0.01 sec)

Query OK, 47 rows affected (0.00 sec)
Records: 47  Duplicates: 0  Warnings: 0
Kajman
Profil
smiesek:
ale pořád je tam omezení na těch 2MB

Ale to omezení je jen pro levou část "Nahrání souboru", máte použít pravou část "Ze serveru". Pokud jste test.sql přejmenovala na adminer.sql a nahrála do adresáře webu, mělo by tlačítko "Spustit soubor" fungovat.
smiesek
Profil
Medvídek:
Děkuju za postup, a trpělivost, jen bych se ráda zeptala, pokud se mi nachází v cestě uživatele mezera, jakým způsobem se to ošetřuje? Do uvozovek?

Kajman:
S Vaším postupem mi to již funguje, děkuji za trpělivost.
juriad
Profil
smiesek:
Normální člověk v uživatelských jménech a heslech nepoužívá mezery. A nepoužívá je ani v názvech souborů.
Zkus celé uživatelské jméno uzavřít do uvozovek:
mysql -u "Franta Pepa Jednička" -p < ...
Tori
Profil
smiesek:
pokud se mi nachází v cestě uživatele mezera, jakým způsobem se to ošetřuje
V linuxovém shellu se dá zapsat buď celá cesta do uvozovek (nejen u mezery, ale i pokud obsahuje znaky s diakritikou):
"/home/smiesek/Moje dokumenty/soubor"
anebo se mezera escapuje:
/home/smiesek/Moje\ dokumenty/soubor
Ve windowsím cmd by mohly fungovat aspoň ty uvozovky, když se zpětná lomítka už používají jako oddělovač cesty.
smiesek
Profil
juriad:
špatně jsem se vyjádřila, šlo o cestu souboru, děkuju

Tori:
děkuji, pro budoucnost, abych věděla, jak se vyhnout případné nefunkčnosti

Ale asi zatím bez úspěchu to bude tím, že se mi tam ještě nachází diakritika

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: