MySQL Dump Export / Import Using CUI/GUI
|MySQL Export, MySQL Dump Export, learn about mysqldump, Mysqldump outputs empty file using PHP exec, MySQL Import, MySQL Backup, MySQL Restore
जब हम कोई भी Database Project बनाते हैं और जब हमे Database को Local से Web पर शिफ्ट करना हो या फिर हमे बैकअप ले कर हमारे पास रखना हो तब हमे MySQL Dump का उपयोग करना होता हैं, इस Command से हम बहुत ही कम समय मे database का Backup ले सकते हैं । इस आर्टिकल मे हम GUI Graphical User Interface और CUI Command Line Interface से बैकअप लेना और उसे Restore करना सीखेंगे ।
अब आपके मन मे एक सवाल आया होगा की जब GUI से ही काम हो रहा है तो हम Command line से क्यू मेहनत करे ? इसका जवाब है की जब आप अपने द्वारा बनाए गए सॉफ्टवेयर मे बैकअप का Option देना चाहते हैं तब आपको Command Line से backup लेते आना चाहिए । इस आर्टिकल मे हम Backup और Restore से Related सभी Point समझेंगे चलिए शुरू करते हैं ।
- 1. Backup Using Command Line (mysqldump)
- 2. Remove Definer Keyword from Exported SQL File
- 3. Restore Using Command Line (mysql)
- 4. PHP Script for Backup MySQL Data
- 5. Export Dump File in MySQL CPanel
- 6. Import Dump File in MySQL CPanel
1. Backup Using Command Line (mysqldump)
इस निम्न Command से आप Backup ले सकते हैं ।
D:\wamp64\bin\mysql\mysql8.0.18\bin\mysqldump --host=<HostName> --user=<UserName> --password=<Password> --routines <DatabaseName> > <ExportFileName.sql>
- यह जो Path यंहा पर दिया हैं यह आपको अपने सिस्टम पर देखना होगा जिस Localtion पर Wamp install हैं यह उसके अनुसार होगा D:\wamp64\bin\mysql\mysql8.0.18\bin\mysqldump
मे नीचे एक Command और लिख रहा हु इसमे उपरोक्त Command मे जो Variable Pass किए हैं उसके स्थान पर Value Put की गई है ।
D:\wamp64\bin\mysql\mysql8.0.18\bin\mysqldump --host=localhost --user=root --password= --routines MyDatabase > C:\MySQL.sql
उपरोक्त Command Execute करने से आपको C:\ Drive मे दी गई Location पर फाइल मिल जाएगी ।
- यहाँ पर –routines लिखने से database मे यदि कोई Function और Procedure हुवे तो वह भी Export हो जाएंगे ।
2. Remove Definer Keyword from Exported SQL File
यदि आप Server से कोई Datbase Local पर Import कर रहे हैं या फिर local से Server पर ले जा रहे हैं तब ध्यान रख कर Exported File मे कुछ बदलाव जरूर करे । यदि आप इन Keyword को हटा देंगे तो Data Without Error Import हो जाएगा ।
2.1. Remove Definer : Definer Keyword को Remove करे ।
यदि आपके Database मे कोई Function और Procedure बने होंगे तब उनके Syntax मे आपको Definer लिखा हुआ मिलेगा उसे आपको Remove करना होगा
- Find Replace का उपयोग कर आपको DEFINER = ‘admin’@’localhost’ को Remove करना हैं ।
- यहाँ पर admin की स्थान पर root हो सकता है , या localhost के स्थान पर कोई IP हो सकता हैं
- आपको File मे DEFINER Search करना हैं और DEFINER = ‘root’@’localhost’ Remove करना हैं ।
2.2. Replace DROP TRIGGER to DROP TRIGGER IF EXISTS
यदि आपके Database मे Trigger हैं तब आपको Drop Trigger Syntax के आगे IF EXISTS जोड़ना होगा ऐसा करने से Import करते समय Error नहीं आएगी।
- फाइल मे जहा पर भी DROP TRIGGER लिखा हैं उसको DROP TRIGGER IF EXISTS से Replace करना हैं ।
3. Restore Using Command Line (mysql) | MySQL Import Data
जब भी आप Command Line के द्वारा ही किसी Blank Database मे Data Import/Restore करना चाहते हैं तब आपको निम्न Command का उपयोग करना होगा ।
D:\wamp64\bin\mysql\mysql8.0.18\bin\mysql --host=<HostName> --user=<UserName> --password=<Password> <DatabaseName> < <FileName.sql>
अब हम उपरोक्त Command मे Value Put करेंगे ।
D:\wamp64\bin\mysql\mysql8.0.18\bin\mysql --host=localhost --user=root --password= MyDatabase < C:\MySQL.sql
- ऐसा करने से जो आपने पहले Data Export किया था वह दिए गए Database मे Import हो जाएगा ।
- ध्यान रहे import के समय Blank Database का ही उपयोग करे क्युकी जो SQL Export File मे लिखी होती हैं उसमे Drop Syntax लिखे होते हैं जो आपके Source Database मे तबाही मचा सकते हैं ।
4. PHP Script for Backup MySQL Data
यदि आप PHP स्क्रिप्ट का उपयोग कर अपने database का Backup लेना चाहते हैं तो आपको PHP exec का उपयोग करना होता हैं, जब आप PHP exec का उपयोग करते हैं तो File तो बनने लगती हैं परंतु File Blank / Empty बनती हैं, आइए हम आपको Step by Step बताते हैं की किस तरह से आपको इस problem का Solution करना हैं ।
Command & Pattern Different in Linux / Windows
अधिकतर हम Internet से Problem को Find कर उस पर कार्य करना शुरू कर देते हैं जबकि आपको यह भी ध्यान रखना हैं की आप Command Windows मे Execute कर रहे हैं या फिर Linux इन दोनों मे लिखने मे कुछ Changes होता हैं ।
Type | Linux | Windows |
Command | mysqldump | path\mysqldump.exe |
Host | -hlocalhost | –host=localhost |
User | -uroot | –user=root |
Password | -p | –password= |
- जैसा की आपने देखा की Linux और windows मे कुछ changes आते हैं इसलिए आपको Command को कुछ उपरोक्त बदलाव आते हैं ।
- जैसे की Linux मे mysqldump लिखते हैं वही Windows मे mysqldump.exe पूरे path के साथ लिखते हैं । उसी तरह host के लिए window मे –host और Linux मे -h लिखते हैं उसी तरह user और password के लिए भी हमे window और linux मे अलग अलग होते हैं ।
- Linux मे हमे -u के बाद कोई भी Space नहीं देना हैं और सीधे ही user , password, host लिखना हैं ।
- आप निम्न Command का उपयोग कर current path देख कर जहाँ पर आपको Backup लेना है वह Path set कर सकते है ।
echo dirname(__FILE__);
आप निम्न Code से Backup ले सकते हैं
MySQL Dump Export Using Windows Operating System
<?php
//echo dirname(__FILE__);
$Host = 'localhost';
$User = 'root';
$Pass = '';
$DB = 'database-name';
$BackupFile = 'file2.sql';
$ExeFile = "\"D:\\wamp64\\bin\\mysql\\mysql8.0.18\\bin\\mysqldump.exe\"";
echo $BackupCmd = "$ExeFile --host=$Host --user=$User --password=$Pass $DB > $BackupFile";
$VarOut = "";
$VarReturn = "";
exec($BackupCmd, $VarOut, $VarReturn);
var_dump($VarOut);
var_dump($VarReturn);
?>
5. How to Export Dump File in MySQL CPanel
यदि आप MySQL Database का Backup Fast Method से लेना चाहते हैं तब आपको निम्न Steps Follow करना हैं ।
- 1. Open CPanel : सबसे पहले CPanel Login करे ।
- 2. Click on Backup Icon : Login होने के बाद आपको बहुत से option दिखाई दे रहे होंगे इनमे से आप Backup Icon पर Click करे ।
- 3. Scroll Down Go to Download a MySQL Database Backup : ऐसा करने पर जो पेज open होगा उस पर आपको Download a MySQL Database Backup पर Click करना हैं ।
- 4. Click on Database and Save to Local Drive : Click करने के बाद आप अपनी Local Drive पर Database को Save कर सकते हैं ।
6. How to Import Dump File in MySQL CPanel
जो भी आपने Dump Export या Backup के द्वारा Database को Export किया था उसे आप Import की सहायता से Database मे Import कर सकते हैं । Import करने के पहले आप File को Open कर किसी भी Text Editor मे Find Replace का उपयोग कर Definer को Remove कर लेवे Definer के बारे मे इसी आर्टिकल मे Point No 2 मे बताया गया हैं आप यहाँ क्लिक कर Read कर सकते हैं ।
Import File On Server
- Definer को Replace करने के बाद आप File को Import कर सकते हैं , यदि फाइल की साइज़ बड़ी हैं तब आप उसे Zip बना कर Server पर Upload कर सकते हैं ।
- 1. Open CPanel : सबसे पहले CPanel Open करे ।
- 2. Find phpMyAdmin : उसके बाद List मे से phpMyAdmin Icon Search कर Open करे ।
- 3. Select Database From List: फप्म्यङ्मिन ओपन करने पर आपको लेफ्ट साइड मे जीतने भी डाटाbase आपके सर्वर मे होंगे वह दिखाई देंगे , जिस भी डेटाबेस मे आपको Data इम्पोर्ट करना हैं अब आप उसे सेलेक्ट करे (ध्यान रहे की जिस भी डेटाबेस मे आप इम्पोर्ट कर रहे हैं वह खाली होना चाहिए , उसमे कोई table आदि नहीं होना चाहिए)
- 4. Click on Import Tab : Database Select करने के बाद आपको Top मे जो Tab List दिखाई दे रही हैं उसमे से Import Tab पर Click करना हैं ।
- 5. Choose Database File : Import पर Click करने के बाद जो Page Open होगा उसमे आपको Choose Database File पर Select कर Database File जो की आपने Export की थी उसे Select करना हैं ।
- 6. Click On Go Button : File Select करने के बाद आपको Go Button पर क्लिक करना हैं ।
ऐसा करने से थोड़ी देर मे Database Import हो जाएगा। यदि कोई Error आती हैं तब आप Error को पढ़ कर Steps Follow कर सकते हैं । यदि आपके द्वारा upload की गई File की Size आधिक हो तो आप उसकी zip File बना कर भी upload कर सकते हैं ।
हमारे अन्य आर्टिकल
- MySQL Function
- MySQL Stored Procedure
- PHP Get /Post Method के बारे में जाने
- PHP Math Function के बारे में जाने
- C से C ++ सीखे सरल शब्दों में
- PHP Variable के बारे में जाने
- Arduino Control Structure
- Union in C
- Declaration of Pointer in C
- jQuery Search Filter
- MySQL Create Table | Alter Table | Drop Table
- API Using NODE REACT EXPRESS MYSQL SEQUELIZE (For Backend OR Server Side)
- CPANEL In Hindi
आपको यह Article कैसा लगा हमे जरूर बताए , अपना कीमती समय देने के लिए धन्यवाद
Q. Mysqldump outputs empty file using PHP exec
A. जब Window और Linux की Command मे कुछ अंतर हैं जो की उपरोक्त आर्टिकल मे Detail मे समझाया गया हैं । यदि आपके द्वारा लिखा गया Code Local Server पर चल रहा हैं और Web पर नहीं चल रहा हैं तो आपको –host के स्थान पर -h, –user के स्थान पर -u, –password के स्थान पर -p आदि का उपयोग करना हैं ।
How do I export and import MySQL database?
For Export
D:\wamp64\bin\mysql\mysql8.0.18\bin\mysqldump –host=<HostName> –user=<UserName> –password=<Password> –routines <DatabaseName> > <ExportFileName.sql>
For Import
D:\wamp64\bin\mysql\mysql8.0.18\bin\mysql –host=<HostName> –user=<UserName> –password=<Password> <DatabaseName> < <FileName.sql>
How do I export a MySQL database dump?
आप निम्न Command का उपयोग कर Database को Export / Dump कर सकते हैं
D:\wamp64\bin\mysql\mysql8.0.18\bin\mysqldump –host=<HostName> –user=<UserName> –password=<Password> –routines <DatabaseName> > <ExportFileName.sql>
What is MySQL dump file?
Mysqldump एक Utility जिसका उपयोग कर आप MySQL Database का Logical Backup बना सकते हैं जो की SQL Format मे होता हैं । इसके द्वारा जो backup फाइल बनती हैं उसे dump file भी कहा जाता हैं ।