Kuinka viedä tietoja mysql:iin. Tietokannan vienti ja tuonti PHPMyAdminissa

24.03.2023

Tämä menettely sisältää tiedon siirtämisen tietokannasta (A) toiseen (B). Pääsääntöisesti tietokanta B sijaitsee isännöinnissä (tai Denverissä) ja tietokanta A sijaitsee käyttäjän tietokoneessa ja on tiedosto, jonka tunniste on sql. Tietokannassa A on toinen nimi - Dump.

Kuinka tuoda tietokanta?

MySQL-tietokannan tuonti SSH:lla

Tätä menetelmää käytetään melko harvoin, mutta kuvaamme sen. Täytä ensin tietokanta, josta tuot sen palveluntarjoajan palvelimelle, jonne verkkosivustosi tiedostot tallennetaan. Seuraavaksi voit tuoda tietokannan käyttämällä komentoa:

mysql -uUSERNAME -pUSERPASSWORD DBNAME< DUMPFILENAME.sql

mysql --user=KÄYTTÄJÄNIMI --password=USERSALASANA DBNAME< DUMPFILENAME.sql

Isoilla kirjaimilla kirjoitettujen sanojen sijaan korvaamme:
KÄYTTÄJÄNIMI - tietokannan käyttäjänimi, esimerkiksi uhosting_databaseuser;

USERPASSWORD - tietokannan käyttäjän salasana, esimerkiksi Rjkweuik12;

DBNAME - sen tietokannan nimi, johon tuonti tehdään, esimerkiksi uhosting_tietokannan nimi

DUMPFILENAME - vedostiedoston nimi, josta tiedot tuodaan. Täällä meidän on myös määritettävä polku tietokantaan, jonka latasimme isännöintipalveluntarjoajan palvelimelle.

Hyvää iltapäivää ystävät, tänään opimme tekemään... Miksi tätä tarvitaan, voit kysyä. Ensinnäkin tietokannan vienti on tehtävä säännöllisesti, jotta et hätätilanteissa menetä tärkeitä tietoja. Vienti on pieni tiedosto, johon kaikki tietokannan tiedot tallennetaan. varten tietokannan vienti sinun täytyy mennä PHPMyAdminiin ja napsauttaa sinua kiinnostavaa tietokantaa. Tämän jälkeen näet kaikki siinä olevat taulukot ja painat niihin menemättä valikkopainiketta nimeltä vienti. Eteen tulee seuraava sivu:


Suosittelen valitsemaan nopea tapa viedä ja ilmoittaa myös muodossa SQL. Tämän jälkeen voit napsauttaa ok. Edessäsi tulee ikkuna, jossa sinua pyydetään tallentamaan tiedosto.


Tallennat tiedoston haluamaasi paikkaan, tärkeintä on muistaa mihin sen tallensit, koska se on meille erittäin tärkeää.
Mitä tulee normaaliin vientitapaan. Voit myös käyttää sitä tarvittaessa, niitä on monia Lisäasetukset, jonka voit määrittää viennin aikana. Valitse esimerkiksi tarvittavat taulukot tietokannasta, määritä koodaus ja paljon muuta. Jos olet kiinnostunut tämä asetus, Voit katsoa sen. Mutta emme mene syvemmälle tähän asetukseen.
Kun olet tallentanut tiedoston tietokoneellesi, pyydän sinua poistamaan tietokannan. En selitä sinulle, kuinka tämä tehdään, koska olemme jo käyneet tämän läpi. Älä pelkää poistaa, palautamme kaiken paikoilleen kanssasi.
On aika olla kiireinen tietokannan tuonti. Siirry tuontivalikkoon.


Valitsemme yleiskatsauksen tietokoneestasi ja osoitamme polun tiedostoomme. Ja klikkaa ok. Kuten näet, edessäsi on ilmestynyt virhe. Älä huolestu, koko asia on, että emme tuoneet itse tietokantaa, vaan vain kaikki sen taulukot. Siksi luo ensin tietokanta, mene siihen ja napsauta tuontipainiketta, kun olet tehnyt kaikki edellä mainitut. Painamalla ok-painiketta kaikki toimii, ja jos teit kaiken oikein, virheitä ei pitäisi ilmestyä.


Kuten näet, taulukkomme on jälleen ilmestynyt paikalleen ja kaikki sen tiedot on tallennettu. Nyt ymmärrät, mikä upea mahdollisuus vie ja tuo tietokanta PHPMyAdminissa. Loppujen lopuksi, jos menetät kaiken työsi useiden vuosien aikana yhdessä päivässä, tämän tiedoston ansiosta saat kaiken takaisin. Tällä sanon hyvästit sinulle ja nähdään pian.

Tämä oppitunti käsittelee tärkeitä asioita, kuten tietokannan vienti Ja tietokannan tuonti MySQL. Saatat kysyä, miksi viedä tietokantoja ylipäätään? Yleensä tämä tehdään tietokannan varmuuskopiointia varten, jotta se on aina käsillä, kuten sanotaan, varmuuden vuoksi. Loppujen lopuksi kukaan ei ole suojassa ylivoimaisilta esteiltä, ​​kuten onnettomuuksilta, jotka voivat johtaa tietojen menetykseen. Toinen esimerkki voi olla hakkereiden hyökkäys, joka haluaa vahingoittaa sivustoasi. Itse asiassa tällaisia ​​esimerkkejä voi olla monia.

Tietokannan tuontia käytetään, kun sinun täytyy "ladata" tietokanta uudelleen nykyiseen isännöintiisi tai siirryttäessä toiseen isännöintiin. Tämän tekevät usein myös verkkovastaavat.

Omillamme tietokannan vienti Ja tietokannan tuonti- tehtävät ovat yksinkertaisia. Nämä toiminnot kannattaa suorittaa kerran, jotta muistaa niiden toteuttamisalgoritmi loppuelämäsi ajan. Katsotaanpa, miten tämä kaikki tehdään esimerkkien avulla.

Voit viedä tietokannan siirtymällä isännöinnin hallintapaneeliin ja siirtymällä sitten tietokantaosioon - MySQL-tietokannat.

Valitse tietokanta, jonka haluamme viedä (siirry phpMyAdminiin). SISÄÄN tässä esimerkissä tietokannan nimi on "cl209038".

1) Valitse ensimmäisessä tapauksessa "Fast", jätä muoto SQL:ksi ja paina "OK"-painiketta. Tämän seurauksena tietokannan kopio ladataan tietokoneellemme.

2) Valitse toisessa tapauksessa "Normaali". Näyttöön tulee sivu, jossa on tietokannan vientiasetukset. Valitse kaikki taulukot, valitse koodaus- ja pakkaustaso alla olevan kuvan mukaisesti. Loput ei yleensä tarvitse muuttaa. Napsauta “OK”-painiketta ja tietokanta viedään tietokoneellemme.

Siinä kaikki, kuten näet, tietokannan vienti MySQL ei ole vaikea tehtävä.

Tietokannan tuomiseksi sinun on myös siirryttävä isännöinnin hallintapaneeliin ja siirryttävä MySQL-tietokantoja käsittelevään osioon. Tässä on kaksi vaihtoehtoa - joko sinun täytyy luoda uusi tietokanta tai viedä olemassa olevaan tietokantaan.

Tietokannan luominen on tarpeen, jos esimerkiksi siirrämme sivuston toiseen isännöintiin. Jos meillä on edelleen sama isännöinti ja tietokanta on jo luotu, voit valita tämän tietokannan ja "ladata" tiedot siihen uudelleen. Voit tietysti poistaa sen, luoda sitten uuden (tyhjän) ja ladata siihen.

1) Tietokanta on jo olemassa. Valitsemme tietokannan, johon tuomme tietokannan kopiomme. Tietokannan tuontivalikko tulee näkyviin.

Valitse tietokannan kopiotiedosto, jonka haluat tuoda. Tarvittaessa voit muuttaa tietokannan koodausta ja muotoa. Napsauta seuraavaksi "OK"-painiketta. Tuonnin jälkeen järjestelmä ilmoittaa, menikö kaikki oikein vai onko prosessin aikana tapahtunut virheitä. Jos tapahtuu virheitä, voit yrittää poistaa tietokannan isännöinnistä, luoda sitten tyhjän tietokannan ja tuoda tietokannan uudelleen.

2) Uuden tietokannan luominen. Siirry isännöinnin hallintapaneeliin ja valitse MySQL-tietokantoja sisältävä osio. Tutustumme MySQL-tietokannan hallintaan.

Määritä sille haluamasi tietokannan nimi ja salasana. Napsauta "Luo" -painiketta. Tämän seurauksena pitäisi luoda uusi (tyhjä) tietokanta - ja siihen on tuotava aiemmin tallennettu kopio tietokannastamme.

Siinä kaikki, mitä halusin kertoa sinulle MySQL-tietokantojen viennistä ja tuomisesta. Jos sinulla on vaikeuksia näiden kysymysten suhteen, kirjoita kommentteja tähän oppiaiheeseen.

Tervehdys ystävät! 🙂

Tänään päätin jatkaa keskustelua työskentelystä MySQL:n kanssa konsolissa ja kiinnittää huomiota MySQL-tietokannan vientimenettelyyn.

Tässä artikkelissa puhun kaatopaikan tekemisestä MySQL-tietokannat, sekä lähettää tietoja MySQL:stä kohteeseen Excel-tiedosto ja csv-muodossa.

Tarkastelemme erilaisia ​​vaihtoehtoja tietojen hakemiseen: yhden tai useamman tietokannan vedosvedoksen luominen, tietojen vienti yksittäisistä taulukoista ja mielivaltaisista tuloksista VALITSE pyynnöt.

Puhumme myös siitä, kuinka tulostaa tietoja MySQL-tietokannasta palvelinkonsolissa ja MySQL-komentorivillä.

Tässä artikkelissa en puhu tietojen viemisestä phpMyAdminin avulla ja muita visuaalisia työkaluja.

Ensinnäkin siksi, että Internetissä on jo tarpeeksi materiaalia tästä aiheesta. Lisäksi se on laadukasta materiaalia, jota en ole innokas kopioimaan ja liittämään.

Ja toiseksi, itse tarkastelin lyhyesti tietojen tulostamista MySQL-tietokannasta SQL-tiedostoon yhdessä artikkelissani, jossa puhuin .

Joten ellet ole ammattimainen kehittäjä tai Järjestelmänvalvoja, jolle saattaa olla hyödyllistä tietoa konsolin kanssa työskentelystä, ja tulit vain hakemaan ohjeita tietokannan viemisestä phpMyAdminiin, niin voit rajoittua lukemaan tiedot yllä olevasta linkistä.

Haluan sinun ymmärtävän minua oikein: En halua loukata sinua millään tavalla, mutta haluan vain, että käytät aikaasi mahdollisimman hyödyllisesti yrityksellesi ja saat etsimäsi.

Tämä päättää johdanto-osan ja siirrymme tarkastelemaan konsolikomentoja MySQL-tietokannan vedosvedoksen luomiseksi, jonka päätin lajitella tallennettavan tiedon määrän mukaan: alkaen koko tietokannan viennistä yksittäisiin taulukoihin ja tulosten mukaan. mielivaltaiset kyselyt.

MySQL-tietokannan vedosvedoksen luominen konsolin kautta

Haluaisin tehdä pienen selvennyksen heti alkuun.

Tietokannan vedos on tiedosto, jossa on joukko SQL-komentoja, jotka käynnistettynä voit luoda tietokantoja ja taulukoita sekä täyttää ne tiedoilla. Vetokuvaa tarvitaan niille, jotka haluavat ladata MySQL-tietokannan kopioidakseen sen toiselle palvelimelle tai olemassa olevalle palvelimelle.

Myös jos joku ei ole tietoinen, MySQL-tietokannan varmuuskopio on pohjimmiltaan siitä tietyllä aikavälillä tehty dump, jonka avulla voidaan tarvittaessa palauttaa tietokannan rakenne ja tiedot.

Vie tiedot- Tämä on yksinkertaisesti tiedon poimimista taulukoista tekstimuodossa jatkotyöskentelyä varten teksti- tai graafisten muokkausohjelmien kanssa.

Siksi näiden toimien komennot ovat hieman erilaisia.

Tietokantavedoksen luomiseksi MySQL:ssä on sisäänrakennettu apuohjelma nimeltä mysqldump, jota on käytettävä MySQL-komentorivin ulkopuolella palvelinkonsolissa tai muussa komentotulkassa.

Joten yksinkertaisin ja yleisin vaihtoehto - tietojen vieminen tietystä tietokannasta MySQL-konsolissa siirtääksesi ne toiseen palvelimeen tai sisäiseen kopiointiin - sinun on suoritettava seuraava komento:

Mysqldump -u käyttäjänimi -p tietokannan_nimi > polku ja vedostiedoston_nimi

Tämä apuohjelma voi luoda MySQL-tietokantavedoksia vain tiedostoina SQL-komennoilla, joten riippumatta siitä, minkä laajennuksen valitset tiedostollesi, sen sisältö on joka tapauksessa sama. Älä myöskään unohda tarkistaa sen hakemiston kirjoitusoikeudet, jossa se sijaitsee ennen tietojen vientiä MySQL:stä, jotta tiedosto voidaan luoda.

Jos sinun on yhtäkkiä tehtävä vedos kaikista palvelimen tietokannoista, käytä seuraavaa komentovaihtoehtoa:

Mysqldump -u käyttäjätunnus -p --kaikki tietokannat > polku ja vedostiedoston_nimi

Jos haluat tyhjentää vain muutaman tietyn tietokannan, sinun on kutsuttava mysqldump seuraavilla parametreilla:

Mysqldump -u käyttäjätunnus -p --tietokannat tietokannan_nimi1, tietokannan_nimi2, ... > polku ja vedostiedoston_nimi

Tämän seurauksena saat jokaisessa tapauksessa MySQL-tietokantavedoksen, joka sisältää komennot sisältämien taulukoiden rakenteen luomiseen (kentät, niiden tyypit, indeksit, avaimet jne.) sekä toiminnot niiden täyttämiseksi tiedoilla.

Tämä vaihtoehto sopii vain kokonaisten tietokantojen palauttamiseen ja kopioimiseen.

Puhumme lisää siitä, kuinka varmuuskopioida tietyt MySQL-taulukot ja saada niiden tiedot luettavassa muodossa.

MySQL-taulukon poistaminen ja tietojen vienti

Tiettyjen MySQL-tietokantataulukoiden vedosten luomiseksi tarvitsemme saman apuohjelman mysqldump, kutsutaan seuraavilla parametreilla:

Mysqldump -u käyttäjätunnus -p tietokannan_nimi taulukon_nimi1, taulukon_nimi2, ... > polku ja vedostiedoston_nimi

Kutsuttaessa mysqldump, voit määrittää tarvittavat taulukot parametriarvoksi --pöydät, kun parametria käytetään -- tietokannat jätetään huomioimatta:

Mysqldump -u käyttäjätunnus -p --tietokannat tietokannan_nimi1, tietokannan_nimi2 --taulukot taulukon_nimi1, taulukon_nimi2, ... > polku_ja_vedostiedoston_nimi

Yllä oleva esimerkki näyttää seuraavan virheilmoituksen:

Mysqldump: Sai virheen: 1049: Tuntematon tietokanta "tietokannan_nimi1" tietokantaa valittaessa

Kuten näet, vain viimeisintä tietokantaa luettelosta käytetään. Periaatteessa tämä käyttäytyminen on varsin loogista, koska Määritetyt taulukot eivät välttämättä näy kaikissa tietokannoissa.

Okei, olemme vastaanottaneet kaatopaikan MySQL-tietokantataulukoita. Sitä voidaan käyttää niiden palauttamiseen tai kopioimiseen rakenteen mukana.

Mutta entä jos tarvitset vain niihin tallennetut tiedot ja mieluiten luettavassa muodossa, jotta voit lähettää ne esimiehelle ja tarkastella niitä tavallisessa teksti- tai taulukkoeditorissa? MySQL:llä on työkaluja myös tähän.

Mahdollisuus soittaa apuohjelmalle auttaa meitä saavuttamaan suunnitelmamme mysql konsolista tietyillä parametreilla:

Mysql -u käyttäjätunnus -p tietokannan_nimi -e "VALITSE * FROM taulukon_nimi"

Tämän komennon avulla voimme suorittaa pyynnön vaadittuun tietokantaan ja näyttää tuloksen konsolissa ilman, että komentorivi MySQL.

No, jotta et tulosta tietoja konsoliin, vaan kirjoittaaksesi ne tiedostoon, sinun on täydennettävä komentoa seuraavasti:

Mysql -u käyttäjätunnus -p -e "VALITSE * FROM taulukon nimi" > polku ja tiedoston_nimi

Näiden rakenteiden ansiosta emme saa vain tietoja, jotka on tallennettu taulukon kaikille kentille, vaan myös tietyille kentille. Voit tehdä tämän korvaamalla jokerimerkit (*) pakollisilla pilkuilla erotetuilla symboleilla.

Tuloksena on tavallinen tekstitiedosto, joka sisältää kenttien nimet otsikon muodossa ja tiedot niistä kaikista tietueista. Se voidaan avata normaalisti tekstieditori, riippumatta siitä, minkä resoluution annat sille luodessasi sitä.

Jos haluat viedä tietoja MySQL-tietokannasta xls- tai csv-muodossa, jotta tuloksena oleva tiedosto näkyy oikein laskentataulukkoeditoreissa, kerromme sinulle kuinka tämä tehdään hieman myöhemmin :)

Varmuuskopioiden luominen ja tietojen tulostaminen MySQL-tietokannasta kyselyiden avulla

Puhuimme MySQL-tietokannan - yhden tai useamman - sekä yksittäisten taulukoiden tyhjentämisestä. Mutta joskus käytännössä on tapauksia, joissa sinun on vietävä tietojoukko, joka ei rajoitu yhteen taulukkoon. Tai sinun on valittava vain osa taulukosta.

Yritysprojektien kehittäjät kohtaavat tämän erityisen usein, kun johtajat pyytävät heiltä kaikenlaista tilastotietoa. Tai kun sinun on varmuuskopioitava tietty osa taulukosta palauttaaksesi sen nopeasti.

Varmuuskopiointia varten tarvitsemme saman apuohjelman mysqldump, jota tulee kutsua seuraavasti:

Mysqldump -u käyttäjän_nimi -p tietokannan_nimi taulukon_nimi --jossa "haku" > polku_ja_vedos_tiedoston_nimi

Tämän seurauksena saamme tiedoston SQL-komennoilla, joilla luodaan taulukko koko rakenteensa kanssa, joka luomisen jälkeen täytetään hakukyselyllä valituilla tiedoilla.

Jos tarvitsemme vain yhteen tai useampaan taulukkoon tallennetut tiedot, meidän on muutettava edellisessä tapauksessa käytettyä komentoa noudettaessa kaikki taulukon tiedot, vain muutamalla selvennyksellä:

Mysql -u käyttäjän_nimi -p -e "SELECT * FROM taulukon_nimi WHERE-haku" > polku ja tiedoston_nimi

Kuten ymmärrät, pyynnössä mainittujen eri selvennysten lisäksi käyttämällä direktiiviä MISSÄ, voit käyttää muita SQL-rakenteita: LIITTYÄ SEURAAN, LIITTO jne.

Voit kerätä kaikenlaisia ​​tilastoja :)

Sama toiminto voidaan suorittaa myös työskennellessäsi MySQL-komentorivillä seuraavalla komennolla:

SELECT * FROM tietokantataulukosta WHERE haku INTO OUTFILE "polku ja tiedoston_nimi";

Tämä komento on erityisesti suunniteltu luomaan tiedostoja näytteenottotuloksilla. Lisäksi tuloksia ei voi vain viedä tiedostoihin, vaan myös kirjoittaa muuttujiin, ja lähtötiedot voidaan muotoilla eri tavoin.

Jos yllä oleva koskee sinua, niin täydellinen lista Löydät tämän komennon kutsumisen parametrit ja vaihtoehdot täältä - https://dev.mysql.com/doc/refman/5.7/en/select-into.html

Lyhyen mysqldumpiin tutustumiseni päätteeksi haluaisin antaa vaihtoehdon kutsua komento parametriluettelolla optimoidun vedosvedoksen luomiseksi MySQL-tietokannasta ja taulukoista. Tietokannan ja yksittäisten taulukoiden palauttaminen vie vähemmän aikaa kuin tavallinen puhelu:

mysqldump -u käyttäjän_nimi -h isäntä_tai_IP_OmaSQL_palvelin -p --no-autocommit --opt tietokannan_nimi > polku ja vedostiedoston_nimi;

Kokeilun vuoksi käytin tämä vaihtoehto 143 Mt:n MySQL-tietokannan tyhjentämiseksi. Seuraava palautus kesti 59 sekuntia verrattuna 1 minuuttiin ja 3 sekuntiin, kun tietokanta palautettiin vedosta, joka tehtiin kutsumalla mysqldump ilman erityisiä parametreja.

Olen samaa mieltä, että tämä on pieni asia. Mutta tämä on vain siinä tapauksessa annettu tilavuus tiedot. Jos käytät tätä tekniikkaa kun luot yli 1 Gt:n dump-tiedoston, ero on merkittävämpi.

Jos kohtaat tällaisen tilanteen, älä unohda ensin arkistoida MySQL-tietokantavedos. Paras on tar.gz. Silloin toipuminen vie vielä vähemmän aikaa.

Vie tietoja MySQL:stä Excel- ja csv-tiedostoihin

Ei turhaan yhdistin tietoa MySQL:n tietojen tulostamisesta näihin kahteen muotoon yhteen lohkoon, koska... ne ovat hyvin samankaltaisia, niitä käytetään suunnilleen samalla tavalla (informaation jäsentämiseksi taulukoiden muodossa) ja samoja vientikomentoja kutsutaan.

Kuten tiedät, ainoa merkittävä ero näiden muotojen välillä on se, että xls- ja xlsx-laajennuksissa on tiedostot, jotka on luotu Microsoft ohjelma Office Excel, joka toimii vain Windowsissa, kun taas csv-tiedostot ovat yleisempiä ja niiden käyttö on mahdollista monissa muokkausohjelmissa.

Tämä ei tarkoita, että xls on muualla kuin Microsoft Office Excel ei aukea. Sama OpenOffice vahvistaa päinvastaista.

Mutta jotta tämä olisi mahdollista, tämän tuen on oltava läsnä ohjelmistotuote. csv-tiedostot ovat luettavissa jopa tavallisella tekstieditorilla, kuten Notepadilla, mutta tämä lomake ei ole täysin luettavissa.

Aloitan siitä, että vain tulokset voidaan viedä xls- tai csv-muotoon SQL-kyselyt, jonka kanssa opimme työskentelemään aiemmin, koska on mahdotonta tulostaa koko tietokantaa yhdeksi tiedostoksi yhdellä toimenpiteellä.

Ensinnäkin tämä ei ole optimaalinen, koska... tällainen tiedosto ei todennäköisesti avaudu, jos tietokantaan on tallennettu suuri määrä tietoa. Ja toiseksi, ei ole selvää, kuinka tiedoston sisällä olevat tiedot jaetaan taulukoihin ja kenttiin.

Ei, se on tietysti mahdollista tehdä, mutta sitä ei todennäköisesti tehdä yhdellä komennolla, ja yleensä on epätodennäköistä, että kukaan tekee tämän konsolissa. Uskon, että näihin tarkoituksiin tarvitset erityisiä ohjelmistoja tai ainakin komentosarjan.

Jos tiedät yhtäkkiä kuinka voit viedä tietoja koko MySQL-tietokannasta yhteen tai useampaan xls-tiedostoon konsolissa kerralla, kirjoita siitä kommentteihin. Uskon, että tämän lukeminen on hyödyllistä monille.

Joten, jos puhumme tietojen viemisestä MySQL:stä xls- ja csv-tiedostoihin, tämä voidaan tehdä suoraan palvelinkonsolissa apuohjelman kautta. mysql tai työssä, jonka esittelin edellisessä artikkelissani.

Aloitetaan järjestyksessä.

Voit viedä tietoja MySQL-tietokannasta csv- ja xls-muotoihin suoraan palvelinkonsolissa seuraavilla komennoilla.

Päällä Linux järjestelmät:

Mysql -u käyttäjätunnus -d tietokannan_nimi -p -e "SELECT * FROM tietokannan_taulukko;" | sed "s/"/\"/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > polku ja tiedoston_nimi. csv

Periaatteessa, jos se on ehdottoman välttämätöntä, voit käyttää tätä komentoa viedäksesi MySQL-tiedot Excel-tiedostoon. Mutta rehellisesti sanottuna en ole käsitellyt tätä käytännössä, enkä tiedä, mitä lopulta tulee ulos, koska... Työskentelen tällä hetkellä Windowsilla. Jos käytät tätä komentoa Linuxissa, kirjoita kommentteihin työsi tuloksista. Uskon, että tieto kiinnostaa kaikkia.

Päällä Windows:

Valitettavasti tietojen vieminen MySQL-taulukoista csv:hen yllä olevan komennon avulla ei toimi tässä tapauksessa, koska Windowsissa, toisin kuin Linuxissa, ei ole sisäänrakennettua konsolin komento säikeiden kanssa työskentelemiseen, joka on sed Linuxissa.

Tietysti voit asentaa sen, mutta se on liikaa vaivaa. Vaihtoehtoisesti voit käyttää CygWin— Linux-konsoliemulaattori Windows-järjestelmille.

On hyvä, jos se on jo asennettu. Muuten tietojen vieminen MySQL-tietokannasta valitulla menetelmällä tuo meille liikaa ongelmia.

Mutta tietojen purkaminen xls-tiedostoon on yhtä helppoa kuin 5 kopekkaa :) Sen käynnistäminen on erittäin helppoa seuraavalla tavalla, jota kokeilin itse:

Mysql -u käyttäjätunnus -d tietokannan_nimi -p -e "VALITSE * FROM tietokannan_taulukko;" > polku_ja_tiedoston_nimi.xls

Avattu Tämä tiedosto Microsoft Office Excelissä ilman ongelmia. Ainoa asia on, että sitä avattaessa näytölle ilmestyi varoitus, että avattavan tiedoston todellinen muoto poikkeaa sen määritetystä tarkenteesta.

Mutta kun toiminto vahvistettiin, asiakirja avautui ilman vaikeuksia - kaikki tiedot jaettiin soluihin siinä muodossa, jossa ne tallennettiin itse taulukkoon.

En tiedä, ehkä jos teet tiettyjä toimintoja Microsoft Office Excelissä, ongelmia ilmenee tulevaisuudessa, en ole kaivannut niin syvälle. Kun katsoin tietoja normaalisti, en ainakaan nähnyt mitään epätavallista.

Jos kohtaat ongelmia käyttäessäsi MySQL:stä vietyä xls-tiedostoa joko tässä ohjelmassa tai muissa, kerro minulle kommenteissa.

Yllä kuvatulla menetelmällä voit viedä MySQL-tietokannan sisällön periaatteessa csv-tiedostoon. Mutta silloin tiedot taulukon eri kentistä kirjoitetaan massassa ilman erottimia, jotka eivät välttämättä näy hyvin erilaisia ​​ohjelmia taulukoiden kanssa työskentelyyn, jossa ne yleensä toimivat csv-tiedostojen kanssa.

OpenOffice ei muuten välitä :) Se rajasi automaattisesti tiedot, jotka saatiin, kun vietimme MySQL-tietokannan sisällön xls:ään. En tiedä miten hän tekee sen, mutta suosittelen sen käyttöä :)

No, sama Microsoft Office Excel näytti kaikki yhtä tietuetta vastaavat tiedot taulukossa kirjoittaen ne yhteen soluun ilman erottimia. Luulen, että muut taulukkoeditorit tekevät samoin.

Siksi, kun viet MySQL-tietokantaa csv-tiedostoihin, sinun on tehtävä se erottamalla tiedot erikoismerkit, toimittajat havaitsevat.

Ja sitten lähestyin vähitellen toista tapaa viedä MySQL-tiedot csv- ja xls-muotoihin, mikä on MySQL-komentorivin käyttö.

Joten, jotta voimme viedä MySQL-tiedot csv-tiedostoon tällä tavalla, tarvitsemme seuraavan komennon:

SELECT * FROM tietokantataulukosta OUTFILE "polku_ja_tiedoston_nimi.csv" KENTÄT, JOTKA PÄÄTTEE "," SULJETTU """ RIVIT, JOITA PÄÄTTEE "\n";

Sen suorittamisen seurauksena saat soitettaessa määrittämäsi polun csv-tiedoston, joka avautuu oikein useimmissa nykyaikaisissa laskentataulukkoeditorit. Varmuuden vuoksi muistutan sinua juoksemaan tämä käsky tarvitaan vain MySQL-tietokantaan yhteyden muodostamisen jälkeen.

Tämä komento sopii erinomaisesti myös MySQL-tietojen viemiseen xls-tiedostoon, jotta se näkyy oikein Microsoft Office Excelissä. Vain tässä tapauksessa emme tarvitse erottimia, koska ne häiritsevät tiedon jakamista soluihin:

SELECT * FROM tietokannan_taulukosta OUTFILE "polku ja_tiedoston_nimi.xls";

Käytännössä kaikki ei kuitenkaan ole niin yksinkertaista kuin kuvailin. Kun suoritat komentoa, saatat kohdata seuraavan virheen konsolissa, joka estää viennin suorittamisen loppuun:

VIRHE 1290 (HY000): MySQL-palvelin toimii vaihtoehdolla --secure-file-priv, joten se ei voi suorittaa tätä käskyä

Se johtuu siitä, että MySQL-palvelimesi käynnistettiin valinnalla --secure-file-priv. Itse törmäsin tähän ongelmaan, koska käytän konsolissa työskentelyyn WAMP OpenServer -pakkaukseen sisältyvää MySQL-jakelua, joka puolestaan ​​käynnistää MySQL-palvelimen tällä tavalla.

On kaksi tapaa ratkaista ongelma:

  • Muuta MySQL-palvelimen käynnistysparametreja
  • Muuta polku lopulliseen MySQL-vientitiedostoon

Ensimmäinen menetelmä vaikutti minusta liian monimutkaiselta, koska... Pitäisi syventyä OpenServer-kokoonpanoon, jota en ollut kirjoittanut kaikissa seuranneissa olosuhteissa 🙂 Siksi päätin valita toisen polun. Jos kohtaat samanlaisen ongelman, toista se minun jälkeeni.

Ensin sinun on siirryttävä MySQL-komentoriville ja suoritettava jokin seuraavista komennoista:

NÄYTÄ MUUTTUJAT, KUTEN "secure_file_priv"; SELECT @@GLOBAL.secure_file_priv;

Molempien suorittamisen tulos on MySQL:n globaalin muuttujan arvo suojattu_tiedosto_priv, joka sisältää polun hakemistoon, jonka kautta MySQL-tietojen vienti- ja tuontitoiminnot voidaan suorittaa (jatkossa linkki tietojen tuontia käsittelevään artikkeliin).

Nuo. komentoja käytettäessä LATAA TIEDOT Ja VALITSE... OUTFILE viedyt ja tuodut tiedostot voivat sijaita vain tässä hakemistossa.

Minun tapauksessani tämä muuttuja asetettiin yleensä arvoon TYHJÄ, koska Kuten jo sanoin, käytän OpenServeriin sisältyvän jakelun MySQL-apuohjelmia työskennelläkseni konsolissa. Tämä arvo ilmoitti, että MySQL-tietojen vienti- ja tuontitoiminnot määritettyjä komentoja käyttäen suljettiin kokonaan.

Kuten myöhemmin kävi ilmi, tämä on yleinen tilanne käytettäessä laatikollisia WAMP- ja MAMP-palvelimia.

Valitettavasti minun tapauksessani ei ollut mahdollista käyttää tavallisia menetelmiä MySQL:n globaalien muuttujien arvojen muuttamiseen:

SET muuttujan_nimi = arvo;

Tämän seurauksena näin konsolissa vain seuraavan virheen:

VIRHE 1238 (HY000) rivillä 1: Muuttuja "secure_file_priv" on vain luku -muuttuja.

Tämän seurauksena muuttujan arvon muuttaminen suojattu_tiedosto_priv ja avaa vienti- ja tuontitoiminnot, minun piti mennä MySQL-määritystiedostoon mysql.ini, joka sijaitsee MySQL-jakelun juurihakemistossa tai johon pääsee muulla tavalla, jos MySQL sisältyy WAMP/LAMP/ MAMP-palvelimen rakennus.

Muuten, jos haluat muuttaa tiedostonvaihdon taustatulostushakemiston polkua, sinun on tehtävä sama.

Minun tapauksessani tämä muuttuja oli jo konfiguraatiossa, vain kommentoidussa muodossa:

Secure-file-priv = "%dprogdir%\\userdata\\temp"

Jos sinulla ei ole sitä, kirjoita se tyhjästä osioon (ainakin minulle se sijaitsi siellä).

Poistin sen kommentoinnin ja päätin käyttää sitä siinä muodossa, jossa se oli kirjoitettu. Nuo. kun vienn tietoja MySQL:stä ja tuon ne takaisin, tiedostoni tallennetaan nyt hakemistoon c:\openserver\userdata\temp\.

Kun olet muuttanut konfiguraation (muuten minkä tahansa), älä unohda käynnistää uudelleen palvelinta tai erillistä palvelua, jonka asetuksia muokkasit, jos mahdollista, jotta muutokset tulevat voimaan!

Varmista varmuuden vuoksi, että kun olet käynnistänyt MySQL-palvelimen uudelleen, näytä muuttuja uudelleen suojattu_tiedosto_priv ja kopioi sen arvo leikepöydälle.

Ja nyt meidän on kutsuttava komento kuten alussa, vain ennen sen tiedoston nimeä, johon MySQL-tietokannan tiedot tallennetaan, kirjoita muutettavaan muuttujaan tallennettu polku seuraavassa muodossa:

SELECT * FROM tietokantataulukosta OUTFILE "suojattu_tiedosto_yksityisarvo\tiedoston_nimi.csv";

Tämän jälkeen tietojen vienti MySQL:stä toimi minun tapauksessani.

Tärkeä pointti! Jos työskentelet MySQL:n kanssa Windowsissa, älä unohda muuttaa "\" arvoksi "/" määrittäessäsi tiedoston polkua, muuten virhe tulee --secure-file-priv näkyy edelleen.

Tämä päättää artikkelin MySQL-tietokannan ja sen taulukoiden tyhjentämisestä sekä tietojen tulostamisesta MySQL-taulukoista eri muotoihin. Kirjoita arvostelusi kommentteihin ja jaa kaikille käytännössä käyttämäsi käsikirjoitusvaihtoehdot.

Jos pidit artikkelista, voit kiittää kirjoittajaa julkaisemalla artikkelin uudelleen sosiaalinen media tai taloudellisesti alla olevalla lomakkeella, jotta voit maksaa perushotellin.

Onnea kaikille ja nähdään taas! 🙂

P.S.: jos tarvitset nettisivuja tai tarvitset muutoksia olemassa olevaan, mutta siihen ei ole aikaa tai halua, voin tarjota palveluitani.

Yli 5 vuoden kokemus ammatillinen kehitys sivustoja. Työskennellä PHP

Tässä artikkelissa tarkastelemme kahta kysymystä - kuinka voit tuoda tietokantoja ja kuinka ratkaista suurten tietokantojen tuontiin liittyvä ongelma muuttamalla php.inin asetuksia.

Kuten tiedät, tietojen varmuuskopiointi on takuu siitä, että pystyt palauttamaan verkkosivustosi, jos sivuston toiminta jostain syystä yhtäkkiä häiriintyy. Kuinka palauttaa verkkosivusto varmuuskopiosta? On olemassa useita tapoja, tarkastelemme kuinka voit tuoda mysql-tietokannan phpMyAdminiin. Ennen kuin aloitat tietokannan tuontiprosessin, sinun on poistettava kaikki taulukot tietokannasta, johon aiot tuoda tiedostoja.

Voit poistaa taulukoita kirjautumalla sisään kotisivu phpMyAdmin ja toimi seuraavasti:


2 - napsauta Merkitse kaikki;
3 - Valitse avattavasta valikosta Poista ja napsauta OK,

Nyt voit aloittaa mysql-tietokannan tuonnin. Voit tehdä tämän seuraavasti:

1 - valitse haluamasi tietokanta;
2 - Avaa Tuo kohteeseen -välilehti ylävalikko;
3 - etsi Selaa-toiminnolla varmuuskopio tietokannan kanssa ja napsauta OK.

Jos teit kaiken oikein, phpMyAdmin-ikkunaan tulee viesti, joka ilmoittaa tuonnin onnistumisesta.

Suurien mysql-tietokantojen tuonti

Verkkovastaavat kohtaavat usein suurten mysql-tietokantojen tuomisen ongelman. Ongelma johtuu siitä, että PHPMyAdminissa tietokannan vedostiedoston lataamista rajoittaa ladatun tiedoston koko, joka oletuksena ei saa ylittää 2 Mt (2 048 KB). Kun yrität ladata suuren tietokannan vedostiedostoa, näyttöön tulee virheilmoitus: "Ladattavan tiedoston koko on luultavasti liian suuri..." jne.

Katsotaanpa yhtä tapaa tuoda suuren tietokannan vedos. Tuontitiedoston kokorajoitus määräytyy PHP-kokoonpanon mukaan. PHP-määritysasetukset määritetään php.ini-tiedostossa. Tämä tarkoittaa, että suurten tietokantojen tuontia varten meidän on muutettava ladattujen tiedostojen enimmäiskokoa php.ini-määritystiedostossa.

Missä php.ini-tiedosto sijaitsee? Voit laskea polun php.ini-tiedostoon seuraavasti:

  • Luo info.php-tiedosto ja sijoita siihen seuraava koodi;
  • Lataa luotu tiedosto sivuston juurikansioon (www, public_html);
  • Kirjoita osoite http://sivustosi/info.php selaimesi osoiteriville;
  • Etsi avautuvasta ikkunasta Loaded Configuration File, jossa näkyy tiedoston polku;

Jos haluat tuoda suuren mysql-tietokannan, sinun on muutettava php.ini-ohjeita PHPMyAdminissa.

php.ini-tiedosto on löydetty, nyt ei tarvitse muuta kuin muokata sitä tai pikemminkin muuttaa useita tiedoston ohjeita alla olevan kuvan mukaisesti:

Enimmäisaika (s) skriptin lataamiseen:
max_execution_time = 60
Skriptille määritetty enimmäisaika (sekunteina) vastaanottaa kaikki tiedot:
max_input_time = 90
Muistin enimmäismäärä, jonka komentosarja saa käyttää:
muistiraja = 128M
Ladattujen tiedostojen suurin sallittu koko:
upload_max_fisize = 200 milj
Siirrettävien tietojen enimmäiskoko, jonka PHP hyväksyy:
post_max_size = 180 milj

Muuttamalla yllä olevia direktiivejä php.inissä pystyimme tuomaan kautta PHPMyAdmin tietokanta datamäärä jopa 180M.

Voit myös tuoda tietokannan vedostiedoston ilmainen versio Sypex Dumper ohjelmat. Dumpperi on optimoitu suurin nopeus sekä työskennellä noin 800 megatavun tietokantojen kanssa.