Miten viedä ja tuoda MySQL-tietokanta (SQL dump)

Tämän oppaan avulla opetamme sinua prosessista MySQL-tietokantojen vientiin ja tuontiin käyttäen SQL dump -tiedostoja. Oletko tekemässä säännöllisiä varmuuskopioita tai siirtämässä tietoja palvelimien välillä, ymmärtääksesi, miten luoda ja palauttaa nämä dumpit on kriittista. Kattamme kahta menetelmää: phpMyAdminin käyttöä ja komentorivityökalujen, kuten mysqldump ja mysql, käyttöä.

Tietokannan vienti MySQL:stä

Käyttämällä phpMyAdminia

  1. Kirjaudu phpMyAdmin-käyttöliittymään.
  2. Valitse vasemmasta valikosta vientiin haluamasi tietokanta.
  3. Napsauta sivun yläreunan "Vie" -välilehteä.
  4. Valitse "Nopea" vientimenetelmä yksinkertaiselle varmuuskopiolle tai vaihda "Mukautettuksi", jos tarvitset lisää valintoja.
  5. Valitse muotoon SQL ja varmista, että kaikki taulut sisällytetään dumpiin.
  6. Napsauta sivun alalaidasta "Mene" -painiketta aloittaaksesi tietokannan dump-tiedoston latauksen.

Käyttämällä komentoriviä (mysqldump)

  1. Avaa terminaali tai komentoikkuna.
  2. Aja seuraava komento, korvaamalla käyttäjänimi, salasana ja tietokannan_nimi MySQL-käyttäjätunnuksellasi, salasanallasi ja tietokannan nimelläsi:
    mysqldump -u käyttäjänimi -p tietokannan_nimi > varmuuskopio.sql
  3. Pyydetään sinua syöttämään MySQL-käyttäjän salasana.
  4. Komento luo nykyisen hakemistossasi tiedoston nimellä varmuuskopio.sql, joka sisältää määritetyn tietokannan SQL-dumpin.

Tietokannan tuonti MySQL:iin

Käyttämällä phpMyAdminia

  1. Kirjaudu phpMyAdmin-käyttöliittymään.
  2. Valitse vasemmasta valikosta tietokanta, jonne haluat tuoda tietoja. Jos se ei ole olemassa, luo uusi napsauttamalla "Tietokannat" ja syöttämällä uuden tietokannan nimi.
  3. Napsauta sivun yläreunan "Tuonti" -välilehteä.
  4. Valitse SQL dump -tiedostosi paikallisesta laitteestasi käyttämällä "Selaa" -painiketta.
  5. Napsauta "Mene" -painiketta aloittaaksesi tuontiprosessin.

Käyttämällä komentoriviä (mysql)

  1. Avaa terminaali tai komentoikkuna.
  2. Luo tyhjä tietokanta, jos se ei ole jo olemassa:
    mysql -u käyttäjänimi -p -e "CREATE DATABASE IF NOT EXISTS kohdetietokannan_nimi;"
  3. Tuo SQL dump -tiedosto MySQL-tietokantaasi seuraavalla komennolla, korvaamalla käyttäjänimi, salasana ja kohdetietokannan_nimi MySQL-käyttäjätunnuksellasi, salasanallasi ja kohdetietokannan nimelläsi:
    mysql -u käyttäjänimi -p kohdetietokannan_nimi < varmuuskopio.sql
  4. Pyydetään sinua syöttämään MySQL-käyttäjän salasana.
  5. Komento tuo tiedoston varmuuskopio.sql sisällön määritettyyn tietokantaan.

Vihreitä suosituksia isoille tietokannoille

  • Tiedostojen jakaminen: Erittäin isoille tietokannoille harkitse dump-tiedoston jakamista pienempiin osiin välttääksesi muistiongelmat tuonnissa. Voit käyttää työkaluja kuten mysqldumpsplitter.pl.
  • Aikakatkaisun asetusten lisääminen: Jos käytät web-pohjaista työkalua, kuten phpMyAdminia, ja kohtaat aikakatkaisuja, lisää PHP:n suoritusajan tai käytä komentorivityökaluja, jotka ovat vähemmän alttiita aikakatkaisuille.
  • Kyselyiden optimointi: Nopeampaa tuontia varten poista vierasavaimen tarkistukset ja automaattinen commit ennen tuontia:
    SET FOREIGN_KEY_CHECKS=0;
    SET AUTOCOMMIT=0;
    Muista ottaa ne käyttöön uudelleen tuonnin jälkeen.

Vianratkaisu

  • Virhe 1064 (42000): Sinulla on virhe SQL-syntaksissasi. Tämä viittaa yleensä ongelmaan dump-tiedostossa. Varmista, että dump luotiin oikein ja se ei ole korruptoitu.
  • Pääsy kielletty: Varmista, että käytät oikeaa MySQL-käyttäjätunnusta ja -salasanaa, ja että käyttäjällä on riittävät valtuudet vienti- tai tuontitoimintojen suorittamiseen.