8.1 డేటాబేస్ బ్యాకప్ అవసరం
మీరు డేటాబేస్ స్కీమాలు, పట్టికలు, వాటిని వీక్షించడం ఎలాగో నేర్చుకున్నారు. అలాగే ఈ పట్టికలను డేటాతో నింపి వాటిని మార్చండి. ఇప్పుడు మీరు చాలా ముఖ్యమైన విషయం నేర్చుకోవాలి - బ్యాకప్ చేయడానికి.
డేటాబేస్ విచ్ఛిన్నం చేయడం చాలా సులభం. వాస్తవం ఏమిటంటే డేటాబేస్ సాధారణంగా స్థిరమైన మార్పు స్థితిలో ఉంటుంది: ఏదో నిరంతరం సేవ్ చేయబడుతుంది మరియు దానికి జోడించబడుతుంది.
మీ బ్రౌజర్లో మీకు ట్యాబ్ తెరిచి ఉందని మరియు దానిలోని సమాచారాన్ని కోల్పోకూడదని మీరు ఊహించుకోండి. మీరు దీన్ని ఎప్పటికీ మూసివేయకూడదని నిర్ణయించుకుంటే, ఇది ఉత్తమ ఎంపిక కాదని అంగీకరించండి. అన్నింటికంటే, బ్రౌజర్ స్తంభింపజేయవచ్చు, ఇది ప్రమాదవశాత్తు మూసివేయబడుతుంది, మీరు కాంతిని కోల్పోవచ్చు లేదా మీ కంప్యూటర్ను బర్న్ చేయవచ్చు. Windows మరొక నవీకరణను ఇన్స్టాల్ చేయగలదు, కానీ మీకు ఏమి తెలియదు.
కాబట్టి, మీ డేటాబేస్ అదే ట్యాబ్. మరియు డిస్క్కి తదుపరి వ్రాసే సమయంలో ఏదైనా తప్పు జరిగినప్పుడు ఇది సమయం మాత్రమే. అందువల్ల, బ్యాకప్లను ఎలా తయారు చేయాలో మీరు ఖచ్చితంగా నేర్చుకోవాలి.
బ్యాకప్లను తయారు చేయడం మీ పళ్ళు తోముకోవడం లాంటిది, సాధారణ కంపెనీలు ప్రతి రాత్రి ప్రతి డేటాబేస్ యొక్క కంటెంట్లను బ్యాకప్ చేస్తాయి. మరియు హార్డ్ డ్రైవ్లు కూడా విఫలమవుతాయి మరియు డేటా సెంటర్లలో మంటలు సంభవించవచ్చు కాబట్టి, బ్యాకప్లు సాధారణంగా ప్రపంచంలోని వివిధ ప్రాంతాలలోని డేటా సెంటర్లలో 2-3 కాపీలలో నిల్వ చేయబడతాయి.
బ్యాకప్ సృష్టించడానికి అనేక విధానాలు ఉన్నాయి.
బ్యాకప్ ఫైల్స్. మొత్తం డేటాబేస్ డేటా డిస్క్లో ఫైల్ల సెట్గా నిల్వ చేయబడినందున , ఈ ఫైల్లను ఎక్కడైనా కాపీ చేయడం సులభమయిన మార్గం. లేదా మొదట దాన్ని ఒక ఆర్కైవ్లో ఆర్కైవ్ చేసి, ఆపై ఎక్కడైనా కాపీ చేయండి.
బ్యాకప్ చేయడానికి ఇది వేగవంతమైన మార్గం, కానీ ఫైల్లు కాపీ చేయబడినప్పుడు/ఆర్కైవ్ చేయబడినప్పుడు అవి మారకుండా ఉండటం అవసరం. కాపీని సృష్టించేటప్పుడు డేటాబేస్ తప్పనిసరిగా స్తంభింపజేయాలి, లేకపోతే కాపీ వంకరగా ఉంటుంది. అన్నింటికంటే, డేటాబేస్లో కొన్ని కొత్త డేటా నమోదు చేయబడే పరిస్థితి ఉండవచ్చు మరియు కొన్ని ఇంకా లేవు.
SQL ప్రశ్నల రూపంలో బ్యాకప్ . మీకు ఇప్పటికే తెలిసినట్లుగా, SQL సర్వర్ డేటాబేస్లో డేటాను జోడించడం మరియు మార్చడం ఎల్లప్పుడూ SQL ప్రశ్నలుగా సూచించబడుతుంది. కాబట్టి మీరు ఒక నిర్దిష్ట పట్టిక లేదా పట్టికలోని విషయాలను SQL ప్రశ్నల రూపంలో ఫైల్లో సేవ్ చేయమని SQL సర్వర్ని అడగవచ్చు.
ఈ పద్ధతి మునుపటి కంటే నెమ్మదిగా ఉంటుంది, అయితే ఇది వివిధ తయారీదారుల నుండి SQL సర్వర్ల మధ్య డేటాను బదిలీ చేయడానికి ఉపయోగించవచ్చు.
అలాగే, అన్ని డేటాను ఎల్లప్పుడూ సేవ్ చేయవలసిన అవసరం లేదు. తరచుగా మీరు మీ పట్టికలలో సేవ యొక్క సమూహాన్ని లేదా వాడుకలో లేని సమాచారాన్ని కలిగి ఉంటారు మరియు దానిని సేవ్ చేయవద్దని మీరు SQL సర్వర్కి చెప్పవచ్చు.
అలాగే, సమయానికి సంబంధించి కొన్ని ఈవెంట్లను స్టోర్ చేసే టేబుల్ల కోసం, మీరు చివరి రోజు కోసం అలాంటి ఈవెంట్లను ఎంచుకుని, వాటిని మాత్రమే నిల్వ చేయవచ్చు.
వివిధ యుటిలిటీస్ . తమ డేటా చెక్కుచెదరకుండా మరియు సురక్షితంగా ఉంటుందని హామీని పొందడానికి కంపెనీలు చాలా డబ్బు చెల్లించడానికి సిద్ధంగా ఉన్నాయి. అందువల్ల, వివిధ IT కంపెనీలు అన్ని సందర్భాలలో పరిష్కారాలను అందించడం ప్రారంభించాయి. ఉదాహరణకు, ఫైల్ల రూపంలో బ్యాకప్ డేటాబేస్లను తయారు చేయగల ప్రోగ్రామ్లు ఉన్నాయి మరియు అదే సమయంలో ఈ ఫైల్లు మారకుండా ఉండాల్సిన అవసరం లేదు.
ఉదాహరణకు, మీరు ఆపరేటింగ్ సిస్టమ్లో ప్రత్యేక డ్రైవర్లను ఇన్స్టాల్ చేయవచ్చు మరియు ఎప్పుడు, ఏమి మరియు ఎక్కడ మార్చబడిందో ట్రాక్ చేయవచ్చు.
8.2 డేటాబేస్ బ్యాకప్
వర్క్బెంచ్ అది పనిచేసే డేటాబేస్ల నుండి డేటాను ఎగుమతి చేయడం మరియు దిగుమతి చేయడంలో అద్భుతమైనది. దీన్ని చేయడానికి, మీరు మెను ఐటెమ్ను నొక్కాలి: Server-> Data Export
. మరియు మీరు ఇలాంటివి చూస్తారు:
![](https://cdn.codegym.cc/images/article/3bc1564d-b5cb-4378-9968-570697e9603a/1024.jpeg)
ఇప్పుడు కొంత వివరణను జత చేద్దాం:
![](https://cdn.codegym.cc/images/article/821a37d4-c6f3-4ccf-80bf-4873f3d8d061/1024.jpeg)
ఆర్డర్ ఇది:
- ముందుగా, ఎగుమతి చేయబడే స్కీమా లేదా స్కీమాలను ఎంచుకోండి.
- అప్పుడు కుడివైపున మేము బ్యాకప్ కోసం పట్టికలను నిర్దేశిస్తాము.
- తరువాత, మనం ఖచ్చితంగా ఎగుమతి చేసేదాన్ని ఎంచుకోవాలి:
- డేటా మాత్రమే;
- నిర్మాణం మాత్రమే (టేబుల్స్ ఉంటుంది, కానీ ఖాళీగా ఉంటుంది);
- డేటా మరియు నిర్మాణం.
- డేటాను ఎలా సేవ్ చేయాలో ఎంచుకోండి:
- ప్రతి పట్టిక కోసం ఒక ఫైల్;
- అన్ని పట్టికలకు ఒక ఫైల్.
- మీరు స్కీమా క్రియేషన్ కోడ్ని ఫైల్ ఎగువన కూడా జోడించవచ్చు. వివిధ DBMS మధ్య డేటాను బదిలీ చేసేటప్పుడు ఇది ఉపయోగపడుతుంది.
8.3 టేబుల్ స్కీమాను బ్యాకప్ చేస్తోంది
అసలు డేటా లేకుండా స్కీమాలను మాత్రమే బ్యాకప్ చేద్దాం.
నేను డంప్ స్ట్రక్చర్ని మాత్రమే ఎంచుకుని, ఎగుమతి ప్రారంభించు క్లిక్ చేసాను.
![](https://cdn.codegym.cc/images/article/18f4743c-0edb-468b-8408-52f59c75a20f/1024.jpeg)
వర్క్బెంచ్ చేసిన ఫైల్లో నేను కనుగొన్నది ఇదే.
--
-- Table structure for table `user`
--
DROP TABLE IF EXISTS `user`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`name` varchar(100) DEFAULT NULL,
`level` int(11) DEFAULT NULL,
`created_date` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
అది నిజం, ఇది మా పట్టికల స్కీమా, నేను ఒకే పట్టిక గురించి చెప్పగలిగితే.
8.4 డేటాను బ్యాకప్ చేస్తోంది
ఇప్పుడు డేటాను మాత్రమే బ్యాకప్ చేద్దాం, కానీ స్కీమా నిర్మాణం లేకుండా.
డంప్ డేటాను మాత్రమే ఎంచుకుని, వారు మనకు ఏమి ఇస్తారో చూద్దాం:
![](https://cdn.codegym.cc/images/article/b81bb769-5767-4f8a-9a45-bf36e59746e2/1024.jpeg)
వర్క్బెంచ్ చేసిన ఫైల్లో నేను కనుగొన్నది ఇదే.
--
-- Dumping data for table `user`
--
LOCK TABLES `user` WRITE;
/*!40000 ALTER TABLE `user` DISABLE KEYS */;
INSERT INTO `user` VALUES
(1,'Ivanov Ivan',40,'2022-05-11'),
(2,'Petrov Nikola',1,'2021-05-01'),
(3,'Sidroov Vitaly',8,'2022-05-12');
/*!40000 ALTER TABLE `user` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
అవును, నిజం చాలా ఇష్టం. మేము వినియోగదారు పట్టికను లాక్ చేసే ప్రత్యేక కోడ్ను కూడా ఇక్కడ చూస్తాము. మీరు ఈ SQL స్క్రిప్ట్ని అమలు చేయడానికి ఇది జరుగుతుంది: ఇది డేటాను సరిగ్గా పునరుద్ధరించడానికి ఏదైనా SQL సర్వర్ని అనుమతించే అన్ని సూచనలను కలిగి ఉంటుంది.
8.5 బ్యాకప్ని అమలు చేస్తోంది
చివరకు, బ్యాకప్ నుండి డేటాబేస్ను పునరుద్ధరించడం చివరి విషయం. ఈ చర్య చాలా సులభం కానీ ఉపయోగకరమైనది.
నా విద్యార్థులందరికీ నిర్దిష్ట డేటాబేస్ ఉండాలని నేను కోరుకుంటున్నాను అని చెప్పండి, తద్వారా మీరు దానిపై ప్రశ్నలను ఎలా వ్రాయాలో తెలుసుకోవచ్చు. మీరు స్థానికంగా అమలు చేసే ఫైల్కి నేను మీకు లింక్ ఇస్తాను మరియు అంతే.
మరియు మీరు అనుకోకుండా కొంత డేటా, పట్టికలు లేదా మొత్తం స్కీమాను తొలగించినప్పటికీ, అది ఎల్లప్పుడూ బ్యాకప్ నుండి పునరుద్ధరించబడుతుంది.
డేటాను దిగుమతి చేయడానికి, మీరు మెనులోని ఐటెమ్పై క్లిక్ చేయాలి Server-> Data Import
. అప్పుడు మీరు ఈ చిత్రాన్ని చూస్తారు:
![](https://cdn.codegym.cc/images/article/3e3e48d4-9f99-4fa1-a2cb-121920583570/1024.jpeg)
ఎగుమతి విషయంలో వలె, మీరు మొదట డేటా మూలాన్ని ఎంచుకోమని ప్రాంప్ట్ చేయబడతారు: ఫైల్ల సమూహం లేదా ఒక ఫైల్లోని మొత్తం డేటా.
అప్పుడు మీరు పేర్కొన్న డేటా అప్లోడ్ చేయబడే స్కీమ్ను ఎంచుకోవాలి. మీరు ఇప్పటికే ఉన్న స్కీమ్ను ఎంచుకోవచ్చు లేదా కొత్తదాన్ని సృష్టించవచ్చు.
ముఖ్యమైనది! మీ బ్యాకప్ డేటాను మాత్రమే కాకుండా, పట్టిక నిర్మాణం యొక్క వివరణను కూడా కలిగి ఉంటే, అప్పుడు పట్టికలు పునఃసృష్టించబడతాయి (ఇప్పటికే లక్ష్య స్కీమాలో ఏవైనా ఉంటే).
GO TO FULL VERSION