Uzlabotas dublējumkopijas MySQL datu bāzēm

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_sql
1 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.sql 
Citiem 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.sql 
Ja 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.sql
Tie 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_sql
Parasti, 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_sql
Rezultā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
wave wave wave wave wave