Satura rādītājs
Kad tie ir izdarīti MySQL datu bāzes dublējumkopijas, parasti tiek izmantota komanda mysqldump nav variantu. Tomēr šai komandai ir daudz interesantu iespēju, kas ļauj veikt papildu dublējumus.
Pēc noklusējuma komanda mysqldump ģenerē sql struktūras kopiju visās datu bāzes tabulās norādīts teksta failā sql. Lai iekļautu tikai vienu vai vairākas tabulas, pēc datu bāzes nosaukuma ievadiet to nosaukumus.
Termināla logā mysql direktorijā:
# Atsevišķas tabulas dublēšana $ mysqldump -user = user --password = tabulas datu bāzes atslēga> backup_sql
# Dublēt trīs tabulas $ mysqldump -user = user --password = datu bāzes atslēga table1 table2 table3> backup_sql1 vai 3 tabulu piemēri.
1. Dažu tabulu izslēgšana no dublējuma
Lai dublējumā neiekļautu konkrētu tabulu, mums tā jānorāda ar opciju --ignore-table, kuras vērtība ir jānorāda
Ja, piemēram, dublējat datubāzi ar nosaukumu komercija, bet nevēlaties, lai tiktu iekļauta tabula ar nosaukumu pārdošana, izpildiet šādu komandu:
$ mysqldump -lietotājs = lietotājs -parole = parole --ignore -table = merchant.sales tirgotājs> backup_back.sqlCitiem vārdiem sakot, kopējiet visu tirdzniecības datu bāzi, izņemot pārdošanas tabulu. Ja mēs vēlamies izslēgt vairākas tabulas, mums jāizmanto šāda komanda:
$ mysqldump-lietotājs = lietotājs-parole = parole --ignore-table = commerce.sales --ignore-table = commerce.products --ignore-table = komercija. tirdzniecības cenas> backup_copy.sql(Lai izslēgtu vairākas tabulas, norādiet to nosaukumus ar tik daudz --ignore-tabulas opcijām)
2. Ierakstu skaita ierobežošana katrā tabulā
Pēc noklusējuma komanda mysqldump kopēs visus ierakstus no visām tabulām. Ja vēlaties iepriekš filtrēt ierakstus, pievienojiet opciju -kur, kas ļauj norādīt WHERE tipa nosacījumu, kas tiek pievienots vaicājumiem SELECT, kas tiek veikti, lai iegūtu visus ierakstus:
$ mysqldump -lietotājs = lietotājs -parole = parole -kur = "vecums> 18 UN vecums backup_back.sqlJa mēs vēlamies no datu bāzes iegūt tikai dažus ierakstus, piemēram, pirmos 500
$ mysqldump -lietotājs = lietotājs -parole = parole -kur = "1 limits 500" datu bāze> backup.sqlTie tiktu iegūti ar ierobežojumu 500.
3. Kopējiet tikai tabulu struktūru, bet ne to datus
Pēc noklusējuma komandu mysqldump izgāž gan tabulu struktūru, gan visu to informāciju. Ja jūs interesē tikai tabulu un kolonnu struktūras dempings, izmantojiet opciju --no-data. Tātad jūs varat izveidot citu datu bāzi tieši tādu pašu, bet tukšu:
$ mysqldump-lietotājs = lietotājs-parole = parole-bez datu bāzes> backup_sqlParasti, kad tiek izveidoti ieliktņi, tie tiek grupēti vienā paziņojumā, lai saglabātu koda rindas šādi:
IEVIETOT tabulā VĒRTĪBAS (1, 'name1'), (2, 'name2'), (3, 'name3');Tā ir uzvedība, kas var izraisīt kļūdas, ja vecākas sistēmas nespēj apstrādāt garas rindas. Līdzīgi var rasties problēmas ar teksta redaktoru, mēģinot atvērt dublējuma failu, kurā ir šīs garās rindas.
Ja mēs saskaramies ar šo gadījumu, mēs varam pievienot opciju --extended-insert = false lai katrs INSERT darbotos ar savu paziņojumu:
$ mysqldump -lietotājs = lietotājs -parole = parole -paplašināts -ielikt = nepatiesa datu bāze> backup_sqlRezultāts būs šāds:
IEVIETOT tabulā VĒRTĪBAS (1, 'nosaukums1'); IEVIETOT tabulā VĒRTĪBAS (2, 'nosaukums2'); IEVIETOT tabulā VĒRTĪBAS (3, 'nosaukums3');Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu