GNU/Linux >> Znalost Linux >  >> Linux

Importujte více souborů SQL do MySQL

Pokud ručně migrujete svůj web nebo jednoduše potřebujete importovat určité soubory SQL do databáze, tento článek vám ukáže, jak importovat více souborů SQL do mySQL. Použijeme jak grafické rozhraní, tak příkazový řádek MySQL.

Pro začátek se důrazně doporučuje neimportovat databázi na živou webovou stránku. Před pokusem o import jakéhokoli souboru SQL zastavte webový server a vytvořte zálohu databáze.

Importovat databázi pomocí phpMyAdmin

Předpokládám, že váš hostitel již na váš server nainstaloval phpMyAdmin. Pokud používáte VPS a nemáte nainstalovaný phpMyAdmin, podrobně proberu, jak nainstalovat phpMyAdmin na Linuxu v samostatném článku.

Většina hostitelů zavádí přísné limity pro nahrávání souborů a stanoví maximální dobu provádění. Pokud je limit pro nahrávání souborů vašeho serveru velmi nízký (2 MB) a vašich databázových souborů je mnoho a jsou velké, proces exportu vždy selže. phpMyAdmin je na druhou stranu dostatečně inteligentní, aby pokračoval v importu od místa, kde skončil. Pokud tedy dosáhnete maximálního limitu spuštění, znovu nahrajte soubory a phpMyAdmin bude pokračovat v importu od místa, kde skončil. Je však vhodnější zvýšit limit pomocí cPanelu nebo ruční úpravou php.ini.

Zvětšete velikost nahrávaných souborů PHP na VPS

Chcete-li zvýšit maximální limit nahrávání PHP, otevřete php.ini a upravte následující řádky –

; https://php.net/cgi.check-shebang-line
;cgi.check_shebang_line=1

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
; https://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; https://php.net/upload-tmp-dir
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
; https://php.net/upload-max-filesize
upload_max_filesize = 2M

Maximální velikost nahrávaného souboru je standardně nastavena na 2 MB. Změňte jej na požadovanou velikost souboru. Přejděte dolů na post_max_size . Zvětšete post_max_size na potřebnou velikost, pokud je ve výchozím nastavení nastavena na 8 MB.

Přejděte dolů a vyhledejte max_execution_time . Výchozí max_execution_time je nastaveno na 30 , který je příliš krátký pro import velkých databázových souborů. V jednom z procesů importu jsem musel nastavit max_execution_time na 3600 sekund nebo jednu hodinu. Zvyšte tento limit na základě velikosti importu.

Zvětšete velikost nahrávaného souboru PHP na cPanel

cPanel je oblíbený ovládací panel používaný většinou poskytovatelů hostingu. cPanel snadno umožňuje změnit PHP upload_max_filesize , post_max_size a max_execution_time .

Přihlaste se ke svému účtu cPanel a podle níže uvedených kroků upravte nastavení PHP –

Klikněte na MultiPHP INI Editor na řídicím panelu cPanel.

Vyberte název domény, kde je hostován phpMyAdmin, nebo vyberte Domovský adresář a upravte nastavení PHP pro všechny domény. Nyní byste měli vidět všechna nastavení PHP. Změňte max_execution_time až 3600 (1 hodina), memory_limit na 512 MB, upload_max_filesize a post_max_size na vámi preferovanou hodnotu.

Po změně nastavení klepněte na tlačítko Použít. Nyní je phpMyAdmin připraven na import více souborů SQL.

Zvětšete velikost nahrávaných souborů PHP na DirectAdmin

DirectAdmin je další populární správce hostingu. DirectAdmin také poskytuje jednodušší způsob změny nastavení PHP. Na hlavním panelu klikněte na Nastavení PHP .

Klikněte na tlačítko Přidat a vyberte soubor_uploads, změňte jeho hodnotu na Zapnuto. Přidejte ještě jedno nastavení, vyberte max_execution_time a nastavte hodnotu na 1800 nebo 3600 (závisí na velikosti importu). U větších souborů SQL to může trvat až hodinu nebo i déle. Podobně změňte post_max_size , upload_max_filesize a max_memory nastavení.

Pokud používáte jiný webhostingový panel, doporučuji prozkoumat jeho nastavení nebo kontaktovat podporu a změnit nastavení PHP na serveru.

Nyní je čas zahájit proces importu databáze. Ve webovém prohlížeči spusťte phpMyAdmin a přejděte na Import. Můžete vybrat jeden soubor a poté kliknout na Přejít. Nastavení můžete upravit na základě importovaného souboru SQL. Ve většině případů by stačilo výchozí nastavení.

Importuje však pouze jeden soubor. Chcete-li importovat více souborů SQL, vytvořte .zip všech souborů sql, přejmenujte zip ve formátu – filename.[format].[zip] . Například wordpress.sql.zip .

V závislosti na počtu a velikosti souborů může proces importu nějakou dobu trvat. Po dokončení procesu budou importovaná data viditelná v části Databáze .

Import databáze pomocí příkazového řádku MySQL

Upozornění

Důrazně se doporučuje zálohovat stávající databázi před migrací nebo přidáním nových datových souborů do stávající databáze.

Pokud chcete proces zjednodušit a urychlit, doporučuji k importu databázových souborů použít příkazový řádek mysql. Může se to zdát složité, ale není. Jakmile změníte nastavení PHP, stačí k tomu jediný příkaz.

Smažte starou databázi a importujte nové soubory SQL

Upozornění

Následující příkaz nahradí všechna existující data novými daty. Tento příkaz nepoužívejte, pokud chcete importovat data do existující databáze, ale při migraci staré databáze na zcela nový server.

Přeneste všechny soubory .sql na server. SSH na server, cd do adresáře, kde jsou uloženy soubory SQL, a pomocí následujícího příkazu importujte všechny soubory sql.

sudo cat *.sql | mysql -u root -p database_name

Nahraďte název_databáze skutečným názvem databáze na serveru.

Ponechat starou databázi a importovat nové soubory SQL

Nové soubory SQL budou importovány pomocí příkazu níže. Pokud jsou v databázi nějaké odpovídající klíče, přeskočí je a importuje pouze data, která v aktuální databázi neexistují.

sudo cat *.sql|sed 's/^INSERT/INSERT IGNORE/'|mysql -u root -p database_name

Závěr

To je vše. Migrace databáze je vysoce riziková záležitost. Během procesu importu může dojít k některým selháním serveru; ale pokud máte úplnou zálohu databáze, jste v bezpečí. Před migrací databáze na produkční server doporučuji vytvořit klon nebo pracovní server a procvičit si na něm procesy.

Pokud máte nějaké problémy s výše uvedenými pokyny, dejte mi vědět v sekci komentářů pod tímto článkem. Nebo se připojte na náš Discord Server.


Linux
  1. Jak komprimovat více souborů v systému Linux

  2. Jak přejmenovat více souborů pomocí funkce Najít?

  3. Dd:Více vstupních souborů?

  1. Jak najít konfigurační soubory MySQL, PHP a Apache

  2. Jak najít více řetězců v souborech?

  3. Jak importovat velké datové soubory MySQL, pokud vyprší časový limit phpMyAdmin

  1. Jak analyzovat PHP v html souborech?

  2. Importujte databázi MySQL

  3. Tail více vzdálených souborů