मेरे पास एक डेटाबेस है जो काफी बड़ा है इसलिए मैं इसे कमांड प्रॉम्प्ट का उपयोग करके निर्यात करना चाहता हूं, लेकिन मुझे नहीं पता कि कैसे।
मैं WAMP का उपयोग कर रहा हूं।
मेरे पास एक डेटाबेस है जो काफी बड़ा है इसलिए मैं इसे कमांड प्रॉम्प्ट का उपयोग करके निर्यात करना चाहता हूं, लेकिन मुझे नहीं पता कि कैसे।
मैं WAMP का उपयोग कर रहा हूं।
जवाबों:
पहले जांच लें कि आपकी कमांड लाइन mysql कमांड को पहचानती है या नहीं। यदि कमांड और टाइप न करें:
set path=c:\wamp\bin\mysql\mysql5.1.36\bin
फिर अपने डेटाबेस को निर्यात करने के लिए इस कमांड का उपयोग करें:
mysqldump -u YourUser -p YourDatabaseName > wantedsqlfile.sql
फिर आपको डेटाबेस पासवर्ड के लिए संकेत दिया जाएगा ।
इस कमांड को निष्पादित करने के दौरान, आप वर्तमान में जिस पथ पर हैं, डेटाबेस निर्यात करता है
नोट: यहाँ आयात और निर्यात दोनों के बारे में कुछ विस्तृत निर्देश दिए गए हैं
-p
और के बीच कोई स्थान नहीं है thepassword
।
-p
और फिर पासवर्ड के लिए संकेत दिया जाएगा। इस तरह आप अपने पासवर्ड को सेव करने से बचते हैं जैसे कि.bash_history
बस निम्नलिखित कमांड का उपयोग करें,
निर्यात के लिए:
mysqldump -u [user] -p [db_name] | gzip > [filename_to_compress.sql.gz]
आयात के लिए:
gunzip < [compressed_filename.sql.gz] | mysql -u [user] -p[password] [databasename]
नोट: कीवर्ड '-p' और आपके पासवर्ड के बीच कोई स्थान नहीं है।
gzip -9
करने से परिणामी फ़ाइल थोड़ी छोटी हो जाती है, क्योंकि अधिकतम संपीड़न का उपयोग किया जाता है।
सबसे पहले कमांड कमांड खोलें फिर cmd में बिन निर्देशिका खोलें (मुझे आशा है कि आप cmd कमांड्स से अवगत हैं ) WAMP प्रोग्राम फाइल्स में अपने MySql फोल्डर की बिन निर्देशिका पर जाएं ।
चलाने के आदेश
mysqldump -u db_username -p database_name > path_where_to_save_sql_file
प्रेस एन्टर सिस्टम विशेष डेटाबेस का निर्यात करेगा और दिए गए स्थान पर sql फ़ाइल बनाएगा।
मुझे आशा है कि आपको यह मिल गया है :) यदि आपके कोई प्रश्न हैं तो कृपया मुझे बताएं।
वैसे आप नीचे कमांड का उपयोग कर सकते हैं,
mysqldump --databases --user=root --password your_db_name > export_into_db.sql
और जनरेट की गई फ़ाइल उसी डायरेक्टरी में उपलब्ध होगी जहाँ आपने यह कमांड चलाया था।
आप इसके लिए आधिकारिक संदर्भ पर अधिक जानकारी प्राप्त कर सकते हैं mysqldump
: आयात निर्यात MySQL DB
नोट : पिछले एक --databases
के --database
बाद से उपयोग के बजाय और अधिक समर्थित नहीं है।
का आनंद लें :)
mysqldump: [ERROR] unknown option '--database'
लेकिन बुद्धि के बहिष्कार --database
ने काम कर दिया है।
इस रास्ते पर कमांड प्रॉम्प्ट पर जाएं,
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>
फिर अपने डेटाबेस को निर्यात करने के लिए यह कमांड दें ( कोई स्पेस नहीं -p )
mysqldump -u[username] -p[userpassword] yourdatabase > [filepath]wantedsqlfile.sql
के साथ अपने mysql उदाहरण का पता लगाएँ:
which mysql
यदि यह सही है तो निम्नलिखित के साथ निर्यात करें (अन्यथा बिन में अपने नम फ़ोल्डर में mysql उदाहरण पर जाएं):
mysqldump -u [username] -p [password] [dbname] > filename.sql
और यदि आप इसे सममित रूप से ज़िप करना चाहते हैं:
mysqldump -u [username] -p [password] [db] | gzip > filename.sql.gz
आप इस फ़ाइल को सर्वर के बीच ले जा सकते हैं:
scp user@xxx.xxx.xxx.xxx:/path_to_your_dump/filename.sql.gz your_detination_path/
(जहां xxx.xxx.xxx.xxx सर्वर आईपी एड्रेस है)
और फिर इसके साथ आयात करें:
gunzip filename.sql.gz | mysql -u [user] -p [password] [database]
password
को कमांड लाइन से हटा रही है : mysqldump -u [username] -p [dbname]> filename.sql यह पासवर्ड के लिए आपका इतिहास खोजने वाले लोगों को रोकता है।
mysqldump -u tutorials -p'mypassword' -h 127.0.0.1 database_name > file_backup_database_name_.sql
चेतावनी: कमांड लाइन इंटरफेस पर पासवर्ड का उपयोग करना असुरक्षित हो सकता है।
PROCEDUREs, FUNCTIONs और TRIGGERs को भी निर्यात करने के लिए, --routines
पैरामीटर जोड़ें :
mysqldump -u YourUser -p YourDatabaseName --routines > wantedsqlfile.sql
--routines
से फर्क पड़ता है :) किसी भी संकेत को केवल प्रोसीड्योर, फक्शन और ट्राइगर को कैसे निर्यात किया जाए? उन लोगों के लिए जो स्विच के बारे में भूल गए हैं और "शुद्ध" डीबी को "एल्गोरिदम" के बिना निर्यात किया :) :)
--events
को इवेंट शेड्यूलर ईवेंट्स को डंप करने की आवश्यकता होती है, और TRIGGERs को हमेशा निर्यात किया जाता है जब तक --skip-triggers
कि निर्दिष्ट नहीं किया जाता है ( 7.4.5.3 डंपिंग संग्रहित कार्यक्रमों के अनुसार )
इस आदेश को अपने डेटाबेस को निर्यात करने के लिए दें, इसमें तारीख भी शामिल होगी
mysqldump -u[username] -p[userpassword] --databases yourdatabase | gzip > /home/pi/database_backup/database_`date '+%m-%d-%Y'`.sql.gz
(-p के बाद कोई स्थान नहीं)
--databases
के रूप में बयान दर्ज हो जाएगा CREATE DATABASE XYZ;
और USE XYZ;
है, जो काम जब ... एक और नाम के साथ एक और डीबी में एसक्यूएल का आयात नहीं है
मैंने अपना wamp सर्वर डी: ड्राइव में स्थापित किया है, इसलिए यू को यूआर कमांड लाइन से निम्न पथ पर जाना है -> (और अगर आपने यू में w w को c: ड्राइव में स्थापित किया है तो बस d: wtih c: here को बदलें)
D:\>cd wamp
D:\wamp>cd bin
D:\wamp\bin>cd mysql
D:\wamp\bin\mysql>cd mysql5.5.8 (whatever ur verserion will be displayed here use keyboard Tab button and select the currently working mysql version on your server if you have more than one mysql versions)
D:\wamp\bin\mysql\mysql5.5.8>cd bin
D:\wamp\bin\mysql\mysql5.5.8\bin>mysqldump -u root -p password db_name > "d:\backupfile.sql"
यहाँ रूट मेरे phpmyadmin का उपयोगकर्ता है, पासवर्ड phpmyadmin के लिए पासवर्ड है, इसलिए यदि u ने रूट के लिए कोई पासवर्ड सेट नहीं किया है तो उस जगह पर कुछ भी नहीं टाइप किया गया है, db_name डेटाबेस है (जिसके लिए डेटाबेस यूआर बैकअप ले रहा है), backupfile.sql है वह फ़ाइल जिसमें आप ur डेटाबेस का बैकअप चाहते हैं और आप अपने कंप्यूटर पर किसी अन्य स्थान से बैकअप फ़ाइल स्थान (d: \ backupfile.sql) भी बदल सकते हैं
-p
और के बीच की जगह के साथ काम करता है password
?
mysqldump -h [host] -p -u [user] [database name] > filename.sql
लोकलहोस्ट में उदाहरण
mysqldump -h localhost -p -u root cookbook > cookbook.sql
इन सभी समाधानों के साथ समस्या (का उपयोग करके) >
रीडायरेक्टर चरित्र ) के है कि आप अपने डंप को स्टडआउट से लिखते हैं जो आपके डेटाबेस के कुछ पात्रों के एन्कोडिंग को तोड़ सकता है।
यदि आपके पास वर्ण एन्कोडिंग समस्या है। जैसे कि :
त्रुटि 1064 (42000): आपके SQL सिंटैक्स में एक त्रुटि है; पास के उपयोग के लिए सही सिंटैक्स के लिए अपने MySQL सर्वर संस्करण से मेल खाने वाले मैनुअल की जाँच करें ...
फिर, आप उपयोग करना चाहिए-r
विकल्प फ़ाइल लिखने के लिए।
माई एसक्यूएल
mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump.sql
डॉकर का उपयोग करना
docker exec --rm -v $pwd:dump -it mysql:5:7 mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump/dump.sql
नोट: यह वर्तमान पथ को उदाहरण के अंदर डंप के रूप में दिखाता है।
हमें जवाब मिल गया यहाँ
इसके विपरीत, <
अपने डंप को अपने डेटाबेस में आयात करने के लिए उपयोग न करें , फिर से, आपके गैर-यूटीएफ 8 पात्रों को पारित नहीं किया जा सकता है; लेकिन स्रोत विकल्प पसंद करते हैं।
mysql -u user -pYourPasswordYouNowKnowHow --default-character-set=utf8 your-database
mysql> SET names 'utf8'
mysql> SOURCE dump.sql
(mysqldump.exe full path) -u (user name) -p (password) (database name) > (export database file full path)
c:>d:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe -u root -p mydbname > d:\mydb.sql
जहाँ d: \ wamp \ bin \ mysql \ mysql5.6.12 \ bin \ mysqldump.exe आपका वास्तविक mysqldump.exe पथ होगा, mydbname डेटाबेस का नाम है जिसे आप निर्यात करना चाहते हैं और d: \ mydb.sql वह मार्ग है जहाँ जहाँ आप निर्यात किए गए डेटाबेस को संग्रहीत करना चाहते हैं।
मैंने wamp सर्वर का उपयोग किया है। मैंने कोशिश की
c:\wamp\bin\mysql\mysql5.5.8\bin\mysqldump -uroot -p db_name > c:\somefolder\filename.sql
root
mysql के लिए मेरा उपयोगकर्ता नाम है, और यदि आपके पास कोई पासवर्ड है, तो इसके साथ निर्दिष्ट करें:
-p[yourpassword]
मुझे भरोसा है ये काम करेगा।
विंडोज़ ओएस के लिए :
जब आपको mysqldump कमांड निष्पादित करने का प्रयास करते समय त्रुटि 1064 mysql (42000) मिलती है , तो वर्तमान टर्मिनल से बाहर निकलें। और mysqldump कमांड निष्पादित करें।
mysql>exit
c:\xampp\mysql\bin>mysqldump -uroot -p --databases [database_name] > name_for_export_db.sql
मैं db के डंप को लेने की कोशिश कर रहा था जो कि docker पर चल रहा था और उसी को प्राप्त करने के लिए नीचे दिए गए कमांड के साथ आया:
docker exec <container_id/name>
/ usr / bin / mysqldump -u <db_username>
--password =<db_password>
db_name
> .sql
उम्मीद है की यह मदद करेगा!
आप इस लिंक पर दिए गए टर्मिनल से किसी भी डेटाबेस को निर्यात या आयात करने के लिए इस स्क्रिप्ट का उपयोग कर सकते हैं : https://github.com/Ridhwanluthra/mysql_import_export_script/blob/master/mysql_export_export_script.sh
echo -e "Welcome to the import/export database utility\n"
echo -e "the default location of mysqldump file is: /opt/lampp/bin/mysqldump\n"
echo -e "the default location of mysql file is: /opt/lampp/bin/mysql\n"
read -p 'Would like you like to change the default location [y/n]: ' location_change
read -p "Please enter your username: " u_name
read -p 'Would you like to import or export a database: [import/export]: ' action
echo
mysqldump_location=/opt/lampp/bin/mysqldump
mysql_location=/opt/lampp/bin/mysql
if [ "$action" == "export" ]; then
if [ "$location_change" == "y" ]; then
read -p 'Give the location of mysqldump that you want to use: ' mysqldump_location
echo
else
echo -e "Using default location of mysqldump\n"
fi
read -p 'Give the name of database in which you would like to export: ' db_name
read -p 'Give the complete path of the .sql file in which you would like to export the database: ' sql_file
$mysqldump_location -u $u_name -p $db_name > $sql_file
elif [ "$action" == "import" ]; then
if [ "$location_change" == "y" ]; then
read -p 'Give the location of mysql that you want to use: ' mysql_location
echo
else
echo -e "Using default location of mysql\n"
fi
read -p 'Give the complete path of the .sql file you would like to import: ' sql_file
read -p 'Give the name of database in which to import this file: ' db_name
$mysql_location -u $u_name -p $db_name < $sql_file
else
echo "please select a valid command"
fi