Kā eksportēt datus uz mysql. Datu bāzes eksportēšana un importēšana programmā PHPMyAdmin

24.03.2023

Šī procedūra ietver datu pārsūtīšanu no vienas datu bāzes (A) uz citu (B). Parasti datu bāze B atrodas mitināšanā (vai Denverā), un datu bāze A atrodas lietotāja datorā un ir fails ar paplašinājumu sql. Datu bāzei A ir cits nosaukums - Dump.

Kā importēt datu bāzi?

MySQL datu bāzes importēšana, izmantojot SSH

Šo metodi izmanto diezgan reti, bet mēs to aprakstīsim. Vispirms aizpildiet datu bāzi, no kuras jūs to importēsit mitināšanas pakalpojumu sniedzēja serverī, kur tiek glabāti jūsu vietnes faili. Tālāk, lai importētu datu bāzi, izmantojiet komandu:

mysql -uUSERNAME -pUSERPASSWORD DBNAME< DUMPFILENAME.sql

mysql --user=LIETOTĀJVĀRDS --password=USERPASSWORD DBNAME< DUMPFILENAME.sql

Lielajiem burtiem rakstīto vārdu vietā mēs aizstājam:
USERNAME - datu bāzes lietotājvārds, piemēram, uhosting_databaseuser;

USERPASSWORD - datu bāzes lietotāja parole, piemēram, Rjkweuik12;

DBNAME — tās datu bāzes nosaukums, kurā tiks veikta importēšana, piemēram, uhosting_databasename

DUMPFILENAME — izgāztuves faila nosaukums, no kura tiks importēti dati. Šeit mums arī jānorāda ceļš uz datu bāzi, kuru augšupielādējām mitināšanas pakalpojumu sniedzēja serverī.

Labdien draugi, šodien mēs iemācīsimies pagatavot... Kāpēc tas ir vajadzīgs, jūs varat jautāt. Pirmkārt datu bāzes eksports jāveic periodiski, lai ārkārtas situācijās nezaudētu svarīgu informāciju. Eksports būs neliels fails, kurā tiks saglabāta visa informācija par datu bāzi. Priekš datu bāzes eksports jums jāiet uz PHPMyAdmin un jānoklikšķina uz jūs interesējošās datu bāzes. Pēc tam jūs redzēsit visas tajā esošās tabulas un, neiedziļinoties tajās, noklikšķiniet uz izvēlnes pogas ar nosaukumu eksportēt. Jūsu priekšā parādīsies šāda lapa:


Iesaku izvēlēties ātrs veids eksportēt, kā arī norādīt formātā SQL. Pēc tam jūs varat noklikšķināt uz Labi. Jūsu priekšā parādīsies logs, kurā jums tiks lūgts saglabāt failu.


Jūs saglabājat failu sev vajadzīgajā vietā, galvenais ir atcerēties, kur to saglabājāt, jo tas mums ir ļoti svarīgi.
Kas attiecas uz parasto eksporta metodi. Varat arī izmantot, ja jums tas ir nepieciešams, ir daudz papildu iestatījumi, kuru varat norādīt eksportēšanas laikā. Piemēram, atlasiet vajadzīgās tabulas no datu bāzes, norādiet kodējumu un daudz ko citu. Ja jūs interesē šo iestatījumu, Jūs varat to noskatīties. Bet mēs neiedziļināsimies šajā uzstādījumā.
Pēc faila saglabāšanas datorā es lūgšu izdzēst datu bāzi. Es jums nepaskaidrošu, kā to izdarīt, jo mēs tam jau esam gājuši cauri. Nebaidieties dzēst, mēs kopā ar jums visu atgriezīsim savās vietās.
Ir pienācis laiks būt aizņemtam datu bāzes importēšana. Dodieties uz importēšanas izvēlni.


Mēs izvēlamies jūsu datora pārskatu un norādām ceļu uz mūsu failu. Un noklikšķiniet uz ok. Kā redzat, jūsu priekšā ir parādījusies kļūda. Neuztraucieties, viss ir tāds, ka mēs neimportējām pašu datu bāzi, bet tikai visas tās tabulas. Tāpēc vispirms izveidojiet datu bāzi, ieejiet tajā un noklikšķiniet uz importēšanas pogas, veicot visas iepriekš minētās darbības. Nospiežot pogu ok, viss izdosies, un, ja visu izdarījāt pareizi, kļūdām nevajadzētu parādīties.


Kā redzat, mūsu tabula atkal ir parādījusies savā vietā, un visi tajā esošie dati ir saglabāti. Tagad jūs saprotat, kāda ir lieliska iespēja eksporta un importa datubāze programmā PHPMyAdmin. Galu galā, ja vienā dienā zaudējat visu savu darbu daudzu gadu garumā, pateicoties šim failam, jūs varat atgūt visu. Ar to es atvados no jums un tiekamies drīz.

Šī nodarbība aptver tādus svarīgus jautājumus kā datu bāzes eksports Un datu bāzes importēšana MySQL. Jūs varat jautāt, kāpēc vispār eksportēt datu bāzes? Parasti tas tiek darīts datu bāzes dublēšanas nolūkā, lai tā vienmēr būtu pie rokas, kā saka, katram gadījumam. Galu galā neviens nav pasargāts no nepārvaramas varas apstākļiem, piemēram, negadījumu uzņemšanas, kas var izraisīt datu zudumu. Vēl viens piemērs varētu būt hakeru uzbrukums, kas vēlas kaitēt jūsu vietnei. Patiesībā šādu piemēru var būt daudz.

Datu bāzes importēšana tiek izmantota, ja nepieciešams “atkārtoti augšupielādēt” datubāzi pašreizējā mitināšanā vai pārejot uz citu mitināšanu. To praksē bieži dara arī tīmekļa pārziņi.

Paši par sevi datu bāzes eksports Un datu bāzes importēšana- uzdevumi ir vienkārši. Šīs darbības ir vērts veikt vienu reizi, lai visu atlikušo mūžu atcerētos to ieviešanas algoritmu. Apskatīsim, kā tas viss tiek darīts ar piemēriem.

Lai eksportētu datu bāzi, jums jādodas uz hostinga administratora paneli un pēc tam dodieties uz datu bāzes sadaļu - MySQL datu bāzes.

Atlasiet datu bāzi, kuru vēlamies eksportēt (dodieties uz phpMyAdmin). IN šajā piemērā datubāze saucas "cl209038".

1) Pirmajā gadījumā izvēlieties "Fast", atstājiet formātu kā SQL un nospiediet pogu "OK". Rezultātā datu bāzes kopija tiks lejupielādēta mūsu datorā.

2) Otrajā gadījumā atlasiet “Normāls”. Tiks parādīta lapa ar datu bāzes eksportēšanas iestatījumiem. Atlasiet visas tabulas, atlasiet kodējumu un saspiešanas līmeni, kā parādīts zemāk. Pārējais, kā likums, nav jāmaina. Noklikšķiniet uz pogas “OK”, un datu bāze tiks eksportēta uz mūsu datoru.

Tas arī viss, kā redzat, datu bāzes eksports MySQL nav grūts uzdevums.

Lai importētu datu bāzi, jums arī jāiet uz hostinga administratora paneli un jāiet uz sadaļu ar MySQL datu bāzēm. Šeit ir divas iespējas – vai nu jāizveido jauna datu bāze, vai jāeksportē uz esošu.

Datubāze būs jāizveido, piemēram, ja mēs pārvietojam vietni uz citu hostingu. Ja mums joprojām ir tas pats hostings un datu bāze jau ir izveidota, tad varat vienkārši atlasīt šo datu bāzi un “atkārtoti augšupielādēt” tajā datus. Protams, varat to izdzēst, pēc tam izveidot jaunu (tukšu) un augšupielādēt tajā.

1) Datubāze jau pastāv. Mēs izvēlamies datu bāzi, kurā importēt mūsu datu bāzes kopiju. Parādīsies datu bāzes importēšanas izvēlne.

Atlasiet datu bāzes kopijas failu, kuru vēlaties importēt. Ja nepieciešams, varat mainīt datu bāzes kodējumu un formātu. Pēc tam noklikšķiniet uz pogas “OK”. Pēc importēšanas sistēma mūs informēs, vai viss noritēja pareizi, vai procesa laikā ir radušās kļūdas. Ja rodas kļūdas, varat mēģināt dzēst mitināšanas datu bāzi, pēc tam izveidot tukšu datu bāzi un vēlreiz importēt datu bāzi.

2) Jaunas datu bāzes izveide. Dodieties uz mitināšanas administratora paneli un atlasiet sadaļu ar MySQL datu bāzēm. Mēs nokļūstam MySQL datu bāzes pārvaldībā.

Norādiet tai vajadzīgo datu bāzes nosaukumu un paroli. Noklikšķiniet uz pogas "Izveidot". Rezultātā ir jāizveido jauna (tukša) datu bāze - tajā mums būs jāimportē iepriekš saglabāta mūsu datu bāzes kopija.

Tas ir viss, ko es gribēju jums pastāstīt par MySQL datu bāzu eksportēšanu un importēšanu. Ja jums ir kādas grūtības saistībā ar šiem jautājumiem, rakstiet komentārus par šo nodarbību.

Sveicieni, draugi! 🙂

Šodien nolēmu turpināt sarunu par darbu ar MySQL konsolē un pievērst uzmanību MySQL datu bāzes eksportēšanas procedūrai.

Šajā rakstā es runāšu par to, kā izveidot izgāztuvi MySQL datu bāzes, kā arī augšupielādēt datus no MySQL uz Excel fails un csv formātā.

Mēs apskatīsim dažādas iespējas informācijas izgūšanai no: vienas vai vairāku datu bāzu izgāztuves izveide, datu eksportēšana no atsevišķām tabulām un patvaļīgi rezultāti. ATLASĪT pieprasījumus.

Mēs arī runāsim par to, kā servera konsolē un MySQL komandrindā izvadīt datus no MySQL datu bāzes.

Šajā rakstā es nerunāšu par to, kā eksportēt datus no izmantojot phpMyAdmin un citi vizuālie rīki.

Pirmkārt, tāpēc, ka internetā jau ir pietiekami daudz materiālu par šo tēmu. Turklāt tas ir augstas kvalitātes materiāls, kuru es nevēlos kopēt un ielīmēt.

Un, otrkārt, es pats īsi pārskatīju procesu, kā informāciju izvadīt no MySQL datu bāzes uz SQL failu vienā no saviem rakstiem, kur es runāju par .

Tātad, ja vien neesat profesionāls izstrādātājs vai sistēmas administrators, kuram var šķist noderīga informācija par darbu ar konsoli, un jūs atnācāt tikai pēc instrukcijām, kā eksportēt datubāzi uz phpMyAdmin, tad varat aprobežoties ar informācijas lasīšanu augstāk esošajā saitē.

Es vēlos, lai jūs mani saprastu pareizi: es nevēlos jūs nekādā veidā aizvainot, bet es tikai vēlos, lai jūs pavadītu savu laiku ar maksimālu labumu jūsu biznesam un iegūtu to, ko meklējāt.

Ar to tiek nobeigta ievaddaļa un mēs pārietam uz konsoles komandu apskatu MySQL datu bāzes izgāztuves izveidei, kuru es nolēmu sakārtot pēc saglabājamo datu apjoma: sākot no visas datu bāzes eksportēšanas, beidzot ar atsevišķām tabulām un rezultātiem patvaļīgi vaicājumi.

MySQL datu bāzes izgāztuves izveide, izmantojot konsoli

Vēlos pašā sākumā sniegt nelielu precizējumu.

Datu bāzes izgāztuve ir fails ar SQL komandu kopu, kuru palaižot, iespējams izveidot datu bāzes un tabulas, kā arī aizpildīt tās ar informāciju. Izgāztuve ir nepieciešama tiem, kas vēlas lejupielādēt MySQL datu bāzi, lai to kopētu uz citu serveri vai esošā serverī.

Tāpat, ja kāds nezina, MySQL datubāzes dublējums būtībā ir tās noteiktā laika posmā izveidota izgāztuve, kas vajadzības gadījumā ļauj atjaunot datu bāzes struktūru un datus.

Eksportēt datus- tas ir vienkārši informācijas iegūšana no tabulām teksta formā turpmākam darbam ar teksta vai grafiskajiem redaktoriem.

Tāpēc šo darbību komandas būs nedaudz atšķirīgas.

Lai izveidotu datu bāzes izgāztuvi, MySQL ir iebūvēta utilīta, ko sauc mysqldump, kas jāizmanto ārpus MySQL komandrindas servera konsolē vai citā čaulā.

Tātad, lai izmantotu vienkāršāko un visizplatītāko iespēju - datu eksportēšanu no noteiktas datu bāzes MySQL konsolē, lai tos pārsūtītu uz citu serveri vai iekšējai kopēšanai, jums ir jāpalaiž šāda komanda:

Mysqldump -u lietotājvārds -p datu bāzes_nosaukums > ceļš_un_dump_faila_nosaukums

Šī utilīta var izveidot MySQL datu bāzes izgāztuves tikai failu veidā ar SQL komandām, tāpēc neatkarīgi no tā, kādu paplašinājumu izvēlaties savam failam, tā saturs jebkurā gadījumā būs vienāds. Un neaizmirstiet pirms informācijas eksportēšanas no MySQL pārbaudīt tā direktorija rakstīšanas atļaujas, kurā tas atradīsies, lai varētu izveidot failu.

Ja pēkšņi jums ir jāizveido visu servera datu bāzu izgāztuve, izmantojiet šādu komandas opciju:

Mysqldump -u lietotājvārds -p --visas datu bāzes > ceļš_un_dump_faila_nosaukums

Lai izmestu tikai dažas noteiktas datu bāzes, jums būs jāizsauc mysqldump ar šādiem parametriem:

Mysqldump -u lietotājvārds -p - datu bāzes datu bāzes_nosaukums1, datu bāzes_nosaukums2, ... > ceļš_un_dumpfile_name

Rezultātā katrā gadījumā jūs saņemsiet MySQL datu bāzes izgāztuvi, kas satur komandas ietverto tabulu struktūras izveidošanai (lauki, to veidi, indeksi, atslēgas utt.), kā arī darbības to aizpildīšanai ar datiem.

Šī opcija ir piemērota tikai visu datu bāzu atjaunošanai un kopēšanai.

Tālāk mēs runāsim par to, kā izveidot atsevišķu MySQL tabulu dublējumus un iegūt to datus lasāmā formā.

MySQL tabulas izmešana un datu eksportēšana

Lai izveidotu noteiktu MySQL datu bāzes tabulu izgāztuvi, mums būs nepieciešama tā pati utilīta mysqldump, izsauc ar šādiem parametriem:

Mysqldump -u lietotājvārds -p datu bāzes_nosaukums tabulas_nosaukums1, tabulas_nosaukums2, ... > ceļš_un_dumpfile_name

Izsaucot mysqldump, kā parametra vērtību varat norādīt vajadzīgās tabulas -- tabulas, kad tiek izmantots parametrs -- datu bāzes tiks ignorēts:

Mysqldump -u lietotājvārds -p - datubāzes datu bāzes_nosaukums1, datu bāzes_nosaukums2 --tabulas tabulas_nosaukums1, tabulas_nosaukums2, ... > ceļš_un_dumpfile_name

Iepriekš minētajā piemērā tiks parādīta šāda kļūda:

Mysqldump: Atlasot datu bāzi, radās kļūda: 1049: nezināma datu bāze "database_name1"

Kā redzat, tiks izmantota tikai jaunākā datu bāze no saraksta. Principā šāda uzvedība ir diezgan loģiska, jo Norādītās tabulas var neparādīties visās datu bāzēs.

Labi, esam saņēmuši MySQL datu bāzes tabulu izgāztuvi. To var izmantot, lai tos atjaunotu vai kopētu kopā ar struktūru.

Bet ko darīt, ja jums vienkārši jāiegūst tajās saglabātā informācija un, vēlams, lasāmā formā, lai to varētu nosūtīt pārvaldniekam un apskatīt parastā teksta vai izklājlapu redaktorā? MySQL tam ir arī rīki.

Iespēja zvanīt utilītai palīdzēs mums sasniegt mūsu plānus mysql no konsoles ar noteiktiem parametriem:

Mysql -u lietotājvārds -p datu bāzes_nosaukums -e "SELECT * FROM tabulas_nosaukums"

Šī komanda ļaus mums izpildīt pieprasījumu vajadzīgajai datu bāzei un parādīt rezultātu konsolē, neiedziļinoties komandrinda MySQL.

Nu, lai neizvadītu datus uz konsoli, bet rakstītu tos failā, komanda jāpapildina šādi:

Mysql -u lietotājvārds -p -e "SELECT * FROM tablename" > ceļš_un_faila nosaukums

Pateicoties šīm konstrukcijām, mēs varam iegūt ne tikai datus, kas glabājas visos tabulas laukos, bet arī konkrētos. Lai to izdarītu, vienkārši aizstājiet aizstājējzīmju (*) simbolu ar nepieciešamajiem, atdalot tos ar komatiem.

Rezultātā izvade būs parasts teksta fails, kurā būs lauku nosaukumi galvenes veidā un informācija par tiem visiem ierakstiem. To var atvērt parastajā režīmā teksta redaktors, neatkarīgi no tā, kādu izšķirtspēju jūs to piešķirat, to veidojot.

Ja vēlaties eksportēt datus no MySQL datu bāzes xls vai csv formātā, lai iegūtais fails tiktu pareizi parādīts izklājlapu redaktoros, mēs jums pastāstīsim, kā to izdarīt nedaudz vēlāk :)

Dublējumu izveide un datu izvadīšana no MySQL datu bāzes, izmantojot vaicājumus

Mēs runājām par to, kā izgāzt MySQL datubāzi - vienu vai vairākas, kā arī atsevišķas tabulas. Bet dažreiz praksē ir gadījumi, kad jums ir nepieciešams eksportēt datu kopu, kas nav ierobežota ar vienu tabulu. Vai arī jums ir jāatlasa tikai daži dati no tabulas.

Īpaši bieži ar to saskaras korporatīvo projektu izstrādātāji, kad vadītāji lūdz viņiem sniegt visdažādākos statistikas datus. Vai arī, ja jums ir jādublē noteikta tabulas daļa, lai to ātri atjaunotu.

Dublēšanai mums būs nepieciešama tā pati utilīta mysqldump, kas būs jāsauc šādi:

Mysqldump -u lietotāja_vārds -p datu bāzes_nosaukums tabulas_nosaukums --kur "uzmeklēšana" > ceļš_un_izraksti_faila_nosaukums

Rezultātā mēs saņemsim failu ar SQL komandām, lai izveidotu tabulu ar visu tās struktūru, kas pēc izveidošanas tiks aizpildīta ar informāciju, kas atlasīta, izmantojot uzmeklēšanas vaicājumu.

Ja mums vienkārši jāiegūst dati, kas glabājas vienā vai vairākās tabulās, tad, izgūstot visus tabulas datus, mums būs jāmaina iepriekšējā gadījumā izmantotā komanda, tikai ar dažiem precizējumiem:

Mysql -u lietotāja_vārds -p -e "SELECT * FROM tabulas_nosaukums WHERE uzmeklēšana" > ceļš_un_faila_nosaukums

Kā jūs saprotat, papildus dažādiem precizējumiem, kas norādīti pieprasījumā, izmantojot direktīvu KUR, varat izmantot citas SQL konstrukcijas: PIEVIENOJIES, SAVIENĪBA utt.

Jūs varat savākt jebkuru statistiku, ko vēlaties :)

To pašu darbību var veikt arī, strādājot ar MySQL komandrindu, izmantojot šādu komandu:

SELECT * FROM datu bāzes_tabula WHERE uzmeklēšana INTO OUTFILE "ceļš un faila_nosaukums";

Šī komanda ir īpaši izstrādāta, lai izveidotu failus ar izlases rezultātiem. Turklāt rezultātus var ne tikai eksportēt failos, bet arī ierakstīt mainīgajos, un izvaddatus var formatēt dažādos veidos.

Ja iepriekš minētais ir jūsu gadījums, tad pilns sarakstsŠīs komandas izsaukšanas parametrus un opcijas varat atrast šeit - https://dev.mysql.com/doc/refman/5.7/en/select-into.html

Noslēdzot savu īso ekskursiju mysqldump, es vēlos piedāvāt komandas izsaukšanas variantu ar parametru sarakstu, lai izveidotu optimizētu MySQL datu bāzes un tabulu izgāztuvi, atjaunojot datu bāzi un atsevišķas tabulas, no kurām būs nepieciešams mazāk laika nekā ar parametru sarakstu. regulārs zvans:

mysqldump -u lietotājvārds -h resursdatora_vai_IP_MySQL_serveris -p --no-autocommit --opt datu bāzes_nosaukums > ceļš_un_dump_faila_nosaukums;

Eksperimenta nolūkos izmantoju šo iespēju lai izmestu 143 MB lielu MySQL datubāzi. Sekojošā atjaunošana aizņēma 59 sekundes, salīdzinot ar 1 minūti un 3 sekundēm, kad datu bāze tika atjaunota no izgāztuves, kas tika veikta, izsaucot mysqldump bez īpašiem parametriem.

Piekrītu, ka tas ir sīkums. Bet tas ir tikai gadījumā dotais apjoms datus. Ja lietojat šī tehnika veidojot izgāztuvi, kas lielāka par 1GB, atšķirība būs ievērojamāka.

Ja rodas šāda situācija, neaizmirstiet vispirms arhivēt MySQL datu bāzes izgāztuvi. Vislabākais ir tar.gz. Tad atveseļošanās prasīs vēl mazāk laika.

Eksportējiet datus no MySQL uz Excel un csv failiem

Ne velti vienā blokā apvienoju informāciju par informācijas izvadīšanu no MySQL šajos divos formātos, jo... tie ir ļoti līdzīgi, tiek izmantoti aptuveni vienādi (lai strukturētu informāciju tabulu veidā), un tiks izsauktas tās pašas komandas eksportēšanai.

Kā jūs zināt, vienīgā būtiskā atšķirība starp šiem formātiem ir tā, ka xls un xlsx paplašinājumos ir faili, kas izveidoti Microsoft programma Office Excel, kas darbojas tikai operētājsistēmā Windows, savukārt csv faili ir universālāki un darbības ar tiem ir iespējamas daudzos redaktoros.

Tas nenozīmē, ka xls ir visur, izņemot Microsoft Office Excel netiks atvērts. Tas pats OpenOffice apstiprina pretējo.

Bet, lai tas būtu iespējams, šim atbalstam ir jābūt programmatūras produkts. csv faili ir lasāmi pat parastā teksta redaktorā, piemēram, Notepad, taču šī veidlapa nebūs pilnībā lasāma.

Ļaujiet man sākt ar to, ka tikai rezultātus var eksportēt uz xls vai csv SQL vaicājumi, ar ko iemācījāmies strādāt agrāk, jo nebūs iespējams izvadīt visu datu bāzi vienā failā ar vienu darbību.

Pirmkārt, tas nav optimāli, jo... šāds fails, visticamāk, netiks atvērts, ja datu bāzē ir glabāts liels informācijas apjoms. Un, otrkārt, nav skaidrs, kā failā esošo informāciju sadalīt tabulās un laukos.

Nē, to, protams, ir iespējams izdarīt, taču maz ticams, ka tas tiks izdarīts ar vienu komandu, un kopumā ir maz ticams, ka kāds to darīs konsolē. Es domāju, ka šiem nolūkiem jums būs nepieciešama īpaša programmatūra vai vismaz skripts.

Ja pēkšņi zināt, kā var eksportēt informāciju no visas MySQL datu bāzes vienā vai vairākos xls failos konsolē uzreiz, tad rakstiet par to komentāros. Domāju, ka lasīt par šo noderēs daudziem.

Tātad, ja mēs runājam par to, kā eksportēt datus no MySQL uz xls un csv, tad to var izdarīt tieši servera konsolē, izmantojot utilītu. mysql vai darbā, ar kuru es jūs iepazīstināju savā iepriekšējā rakstā.

Sāksim secībā.

Varat eksportēt datus no MySQL datu bāzes uz csv un xls formātiem tieši servera konsolē, izmantojot tālāk norādītās komandas.

Ieslēgts Linux sistēmas:

Mysql -u lietotājvārds -d datu bāzes_nosaukums -p -e "SELECT * FROM datu bāzes_tabula;" | sed "s/"/\"/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > ceļš_un_faila_nosaukums. csv

Principā, ja tas ir absolūti nepieciešams, varat izmantot šo komandu, lai eksportētu MySQL datus uz Excel failu. Bet, godīgi sakot, es ar to neesmu nodarbojies praksē un man nav ne jausmas, kas beigās iznāks, jo... Pašlaik strādāju pie Windows. Ja izmantojat šo komandu operētājsistēmā Linux, lūdzu, rakstiet komentāros par sava darba rezultātiem. Domāju, ka informācija būs interesanta visiem.

Ieslēgts Windows:

Diemžēl datu eksportēšana no MySQL tabulām uz csv, izmantojot iepriekš minēto komandu, šajā gadījumā nedarbosies, jo Windows, atšķirībā no Linux, nav iebūvēta konsoles komanda darbam ar pavedieniem, kas ir iestatīts operētājsistēmā Linux.

Protams, jūs varat to instalēt, taču tas ir pārāk daudz problēmu. Alternatīvi, jūs varat izmantot CygWin— Linux konsoles emulators Windows sistēmām.

Ir labi, ja tas jau ir instalēts. Pretējā gadījumā datu eksportēšana no MySQL datu bāzes, izmantojot izvēlēto metodi, mums radīs pārāk daudz problēmu.

Bet informācijas izvilkšana xls failā ir tikpat vienkārša kā 5 kapeikas :) To ir ļoti viegli palaist šādā veidā, ko es mēģināju personīgi:

Mysql -u lietotājvārds -d datu bāzes_nosaukums -p -e "SELECT * FROM datu bāzes_tabula;" > ceļš_un_faila_nosaukums.xls

Atvērts šo failu programmā Microsoft Office Excel bez jebkādām problēmām. Vienīgais, to atverot, ekrānā tika parādīts brīdinājums, ka atvērtā faila faktiskais formāts atšķiras no tā norādītā paplašinājuma.

Bet, apstiprinot darbību, dokuments tika atvērts bez grūtībām - visa informācija tika sadalīta šūnās tādā formā, kādā tā tika saglabāta pašā tabulā.

Nezinu, varbūt, ja veiksit kādas konkrētas darbības programmā Microsoft Office Excel, nākotnē radīsies problēmas; tik dziļi neesmu rakusies. Kad es parasti skatījos datus, vismaz es neredzēju neko neparastu.

Ja šajā programmā vai citās programmās, izmantojot no MySQL eksportēto xls failu, rodas problēmas, lūdzu, informējiet mani komentāros.

Izmantojot iepriekš aprakstīto metodi, jūs principā varat eksportēt MySQL datu bāzes saturu uz csv failu. Bet tad dati no dažādiem tabulas laukiem tiks ierakstīti masveidā, bez norobežotājiem, kas var netikt labi parādīti dažādas programmas darbam ar tabulām, kurās tās parasti strādā ar csv failiem.

OpenOffice, starp citu, ir vienalga :) Tas automātiski norobežoja informāciju, kas iegūta tādā veidā, kā mēs eksportējām MySQL datu bāzes saturu uz xls. Es nezinu, kā viņš to dara, bet iesaku to izmantot :)

Nu, tas pats Microsoft Office Excel tabulā attēloja visu informāciju, kas atbilst vienam ierakstam, ierakstot to vienā šūnā bez atdalīšanas. Es domāju, ka citi tabulu redaktori darīs to pašu.

Tāpēc, eksportējot MySQL datu bāzi uz csv failiem, tas jādara, atdalot informāciju īpašās rakstzīmes, ko uztver redaktori.

Un tad es pakāpeniski tuvojos otrajai metodei, kā eksportēt MySQL datus uz csv un xls, proti, izmantot MySQL komandrindu.

Tātad, lai šādā veidā eksportētu MySQL datus uz csv failu, mums ir nepieciešama šāda komanda:

SELECT * FROM database_table INTO OUTFILE "path_and_file_name.csv" LAUKUS, KAS BEIGTA AR "," AIZBEIGT AR """ RINDAS, KAS BEIGTAS AR "\n";

Tā izpildes rezultātā jūs saņemsit csv failu pa ceļu, kuru norādījāt zvanot, kas tiks pareizi atvērts lielākajā daļā mūsdienu izklājlapu redaktori. Katram gadījumam atgādinu, ka skrien šo komandu nepieciešams tikai pēc savienojuma izveides ar MySQL datu bāzi.

Šī komanda ir lieliski piemērota arī MySQL datu eksportēšanai uz xls failu, lai pareizi parādītu Microsoft Office Excel. Tikai šajā gadījumā mums nav vajadzīgi atdalītāji, jo tie traucēs sadalīt informāciju šūnās:

SELECT * FROM datu bāzes_tabula INTO OUTFILE "ceļš_un_faila_nosaukums.xls";

Tomēr praksē ne viss ir tik vienkārši, kā es aprakstīju. Palaižot komandu, konsolē var rasties šāda kļūda, kas neļauj pabeigt eksportēšanu:

KĻŪDA 1290 (HY000): MySQL serveris darbojas ar opciju --secure-file-priv, tāpēc tas nevar izpildīt šo paziņojumu.

To izraisa fakts, ka jūsu MySQL serveris tika startēts ar opciju --secure-file-priv. Personīgi es saskāros ar šo problēmu tādēļ, ka darbam konsolē izmantoju WAMP OpenServer komplektā iekļauto MySQL izplatīšanas komplektu, kas savukārt šādā veidā palaiž MySQL serveri.

Ir divi veidi, kā atrisināt problēmu:

  • Mainiet MySQL servera startēšanas parametrus
  • Mainiet ceļu uz galīgo MySQL eksporta failu

Pirmā metode man šķita pārāk sarežģīta, jo... Būtu jāiedziļinās OpenServer konfigurācijā, kuru ar visiem no tā izrietošajiem apstākļiem neesmu sarakstījis es 🙂 Tāpēc nolēmu iet otro ceļu. Ja rodas līdzīga problēma, atkārtojiet pēc manis.

Vispirms jums jāiet uz MySQL komandrindu un jāpalaiž viena no šīm komandām:

RĀDĪT MAINĪGOS, PĀRĀDĪGI "secure_file_priv"; SELECT @@GLOBAL.secure_file_priv;

Abu izpildes rezultāts būs MySQL globālā mainīgā vērtība Secure_file_priv, kurā ir ceļš uz direktoriju, caur kuru var veikt MySQL datu eksportēšanas un importēšanas darbības (turpmāk saite uz rakstu par datu importēšanu).

Tie. izmantojot komandas IELĀDĒT DATU Un IZVĒLĒTIES... INTO OUTFILE eksportētie un importētie faili var atrasties tikai šajā direktorijā.

Manā gadījumā šis mainīgais parasti tika iestatīts uz NULL, jo Es, kā jau teicu, darbam konsolē izmantoju MySQL utilītas no OpenServer iekļautā izplatīšanas. Šī vērtība norādīja, ka MySQL datu eksportēšanas un importēšanas darbības, izmantojot norādītās komandas, ir pilnībā aizvērtas.

Kā izrādījās vēlāk, šī ir izplatīta situācija, kad tiek izmantoti WAMP un MAMP serveri.

Diemžēl manā gadījumā nebija iespējams izmantot parastās MySQL globālo mainīgo vērtību maiņas metodes:

SET mainīgā_nosaukums = vērtība;

Rezultātā konsolē es redzēju tikai šādu kļūdu:

KĻŪDA 1238 (HY000) 1. rindiņā: mainīgais "secure_file_priv" ir tikai lasāms mainīgais.

Tā rezultātā, lai mainītu mainīgā lieluma vērtību Secure_file_priv un atveriet eksportēšanas un importēšanas darbības, man vajadzēja iedziļināties MySQL konfigurācijas failā mysql.ini, kas atrodas MySQL izplatīšanas saknes direktorijā vai tam var piekļūt citā veidā, ja MySQL ir iekļauts jūsu WAMP/LAMP/ MAMP servera uzbūve.

Starp citu, ja vēlaties mainīt ceļu uz failu apmaiņas spoles direktoriju, jums būs jādara tas pats.

Manā gadījumā šis mainīgais jau pastāvēja konfigurācijā, tikai komentētā veidā:

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

Ja jums tā nav, ierakstiet to sadaļā no nulles (vismaz man tur atradās).

Es to nokomentēju un nolēmu izmantot tādā formā, kādā tas bija uzrakstīts. Tie. eksportējot datus no MySQL un importējot tos atpakaļ, mani faili tagad tiks saglabāti direktorijā c:\openserver\userdata\temp\.

Pēc konfigurācijas maiņas (starp citu), neaizmirstiet restartēt serveri vai atsevišķu pakalpojumu, kura iestatījumus rediģējāt, ja iespējams, lai izmaiņas stātos spēkā!

Lai pārliecinātos, pēc MySQL servera restartēšanas vēlreiz parādiet mainīgo Secure_file_priv un kopējiet tā vērtību starpliktuvē.

Un tagad mums ir jāizsauc komanda tāpat kā sākumā, tikai pirms faila nosaukuma, kurā tiks saglabāta informācija no MySQL datu bāzes, ierakstiet mainīgajā, kuru mēs mainām, saglabāto ceļu šādā formā:

SELECT * FROM datu bāzes_tabula INTO OUTFILE "secure_file_priv_value\file_name.csv";

Pēc tam manā gadījumā darbojās datu eksportēšana no MySQL.

Svarīgs punkts! Ja strādājat ar MySQL operētājsistēmā Windows, neaizmirstiet nomainīt “\” uz “/”, norādot ceļu uz failu, pretējā gadījumā kļūda tiks parādīta. --secure-file-priv joprojām turpinās parādīties.

Ar to noslēdzas raksts par to, kā izgāzt MySQL datubāzi un tās tabulas, kā arī izvadīt datus no MySQL tabulām dažādos formātos. Rakstiet savas atsauksmes komentāros un dalieties ar visiem savās skripta opcijās, kuras praksē izmantojat visbiežāk.

Ja jums patika raksts, varat pateikties autoram, atkārtoti publicējot rakstu sociālie mēdiji vai finansiāli izmantojot zemāk esošo veidlapu, lai varētu samaksāt par pamata hostingu.

Veiksmi visiem un tiekamies atkal! 🙂

P.S.: ja ir nepieciešama mājaslapa vai jāveic izmaiņas esošajā, bet nav laika vai vēlēšanās tam, varu piedāvāt savus pakalpojumus.

Vairāk kā 5 gadu pieredze profesionālā attīstība vietnes. Strādā ar PHP

Šajā rakstā mēs apskatīsim divus jautājumus - kā jūs varat importēt datu bāzes un kā atrisināt problēmu ar lielu datu bāzu importēšanu, mainot iestatījumus php.ini.

Kā zināms, datu dublēšana ir garantija, ka varēsiet atjaunot savu mājaslapu, ja pēkšņi kāda iemesla dēļ tiks traucēta vietnes darbība. Kā atjaunot vietni no dublējuma? Ir vairāki veidi, mēs apskatīsim, kā jūs varat importēt mysql datu bāzi phpMyAdmin. Pirms datu bāzes importēšanas procesa sākšanas jums ir jāizdzēš visas tabulas no datu bāzes, kurā importēsit failus.

Lai dzēstu tabulas, piesakieties mājas lapa phpMyAdmin un rīkojieties šādi:


2 - noklikšķiniet uz Atzīmēt visu;
3 - nolaižamajā izvēlnē atlasiet Dzēst un noklikšķiniet uz Labi,

Tagad varat sākt mysql datu bāzes importēšanu. Lai to izdarītu, veiciet tālāk norādītās darbības.

1 - izvēlieties vajadzīgo datu bāzi;
2 - atveriet cilni Importēt uz augšējā izvēlne;
3 - atrodiet pārlūkprogrammā rezerves kopija ar datu bāzi un noklikšķiniet uz Labi.

Ja visu izdarījāt pareizi, logā phpMyAdmin parādīsies ziņojums, kas norāda, ka importēšana bija veiksmīga.

Lielu mysql datu bāzu importēšana

Tīmekļa pārziņi bieži saskaras ar lielu mysql datu bāzu importēšanas problēmu. Problēma ir saistīta ar faktu, ka programmā PHPMyAdmin datu bāzes izgāztuves lejupielādi ierobežo augšupielādētā faila lielums, kas pēc noklusējuma nedrīkst pārsniegt 2 MB (2048 KB). Mēģinot lejupielādēt lielas datu bāzes izgāztuvi, tiek parādīts kļūdas ziņojums: “Lejupielādes fails, iespējams, ir pārāk liels...” utt.

Apskatīsim vienu veidu, kā importēt lielas datu bāzes izgāztuvi. Importa faila lieluma ierobežojumu nosaka PHP konfigurācija. PHP konfigurācijas iestatījumi ir norādīti php.ini failā. Tas nozīmē, ka, lai importētu lielas datu bāzes, mums būs jāmaina maksimālais augšupielādēto failu lielums php.ini konfigurācijas failā.

Kur atrodas fails php.ini? Jūs varat aprēķināt ceļu uz failu php.ini šādi:

  • Izveidojiet info.php failu un ievietojiet tajā šādu kodu;
  • Augšupielādējiet izveidoto failu vietnes saknes mapē (www, public_html);
  • Pārlūkprogrammas adreses joslā ievadiet adresi http://your_site/info.php;
  • Atvērtajā logā atrodiet Loaded Configuration File, kur tiks norādīts ceļš uz failu;

Lai importētu lielu mysql datu bāzi, programmā PHPMyAdmin ir jāmaina php.ini direktīvas.

Fails php.ini ir atrasts, tagad atliek tikai to rediģēt vai, pareizāk sakot, failā mainīt vairākas direktīvas, kā parādīts zemāk:

Maksimālais laiks (s), lai pilnībā ielādētu skriptu:
maksimālais_izpildes_laiks = 60
Maksimālais laiks (sekundēs), kas norādīts skriptam visu datu saņemšanai:
max_input_time = 90
Maksimālais atmiņas apjoms, ko skripts drīkst izmantot:
atmiņas_limits = 128M
Maksimālais atļautais augšupielādēto failu lielums:
augšupielādes_maksimālais_faila lielums = 200 milj
Maksimālais pārsūtīto datu lielums, ko PHP pieņems:
pasta_maksimālais_izmērs = 180 milj

Mainot iepriekš minētās direktīvas php.ini, mēs varējām importēt, izmantojot PHPMyAdmin datu bāze datu apjoms līdz 180M.

Varat arī izmantot datu bāzes izgāztuves importēšanai bezmaksas versija Sypex Dumper programmas. Pašizgāzējs ir optimizēts maksimālais ātrums darbu, kā arī strādāt ar aptuveni 800 megabaitu datu bāzēm.