কমান্ড লাইন থেকে মাইএসকিউএল ডাম্প ডাউনলোড করা


306

আমি লিনোড থেকে দূরে সরে যাচ্ছি কারণ আমার কাছে লিনাক্স সিসাদমিন দক্ষতা প্রয়োজনীয় নয়; আরও নুব-বান্ধব পরিষেবাতে রূপান্তরটি শেষ করার আগে, আমার একটি মাইএসকিউএল ডাটাবেসের সামগ্রীগুলি ডাউনলোড করতে হবে। কমান্ড লাইন থেকে আমি এটি করার কোনও উপায় আছে কি?



mysqldump আপনি যা খুঁজছেন তা।
ফারুক সাহিন

1
@ আজকি, আমি মনে করি আপনি এই পোস্টের অনুলিপিটির স্বীকৃত উত্তরটি খুঁজে পাবেন এবং আমার উত্তরের বিষয়বস্তু (শব্দের জন্য শব্দ) তাদের উত্তরের মাসের পরে প্রথম অংশে
আটকে দিয়েছেন

উত্তর:


656

আপনি এটি mysqldump কমান্ড-লাইন ফাংশন ব্যবহার করে সম্পন্ন করতে পারেন ।

উদাহরণ স্বরূপ:

যদি এটি সম্পূর্ণ ডিবি হয় তবে:

   $ mysqldump -u [uname] -p db_name > db_backup.sql

যদি এটি সমস্ত ডিবি হয়, তবে:

   $ mysqldump -u [uname] -p --all-databases > all_db_backup.sql

এটি যদি কোনও ডিবিতে নির্দিষ্ট সারণী হয় তবে:

   $ mysqldump -u [uname] -p db_name table1 table2 > table_backup.sql

এমনকি আপনি জিজিপ ব্যবহার করে আউটপুটটিকে স্ব-সংকুচিত করতেও যেতে পারেন (যদি আপনার ডিবি খুব বড় হয়):

   $ mysqldump -u [uname] -p db_name | gzip > db_backup.sql.gz

আপনি যদি এটি দূরবর্তীভাবে করতে চান এবং আপনার কাছে প্রশ্নে থাকা সার্ভারটিতে অ্যাক্সেস রয়েছে, তবে নিম্নলিখিতগুলি কাজ করবে (মাইএসকিউএল সার্ভারটি 3306 পোর্টে অনুমান করে):

   $ mysqldump -P 3306 -h [ip_address] -u [uname] -p db_name > db_backup.sql

.sqlআপনি যে ফোল্ডারে কমান্ড-লাইন চালাচ্ছেন সেই ফোল্ডারে ফাইলটি ফেলে দেওয়া উচিত ।

সম্পাদনা: সিএলআই কমান্ডে পাসওয়ার্ড অন্তর্ভুক্ত করা এড়াতে আপডেট করা হয়েছে, পাসওয়ার্ড -pছাড়াই বিকল্পটি ব্যবহার করুন । এটি আপনাকে এটির জন্য অনুরোধ করবে এবং এটি রেকর্ড করবে না।


1
আপনার উত্তরটি স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 2989724 /… এর সাথে মিলে - তিনি যা জিজ্ঞাসা করছেন তা করা উচিত, যেহেতু তিনি অন্তর্ভুক্ত করেছিলেন তার এটি ডাউনলোড করা দরকার। এটি হয় যে বা wgetবা scpএকবার নির্মিত বলেন ফাইল পুনরুদ্ধার করতে প্রয়োজন হবে।
জাক

47
ছোট নোট করুন যে কমান্ডের ডানদিকে পাসওয়ার্ড না প্রবেশ করা নিরাপদ। পাসওয়ার্ড ছাড়াই কেবল -p বিকল্পটি ব্যবহার করা পাসওয়ার্ডের জন্য অনুরোধ জানাবে, সেই ভাবে পাসওয়ার্ডটি আপনার কমান্ডের ইতিহাসে সংরক্ষণ করা হয়নি (এবং সম্ভাব্য পুনরুদ্ধার করা হয়েছে)। সুতরাং নিম্নলিখিত কমান্ডটি ব্যবহার করে: মাইএসকিএলডাম্প-পি 3306 -হ [আইপি_এড্রেস] -ইউ [একচেটিয়া] -p ডিবি_নাম> ডিবি_ব্যাকআপ.এসকিএল
পিট

3
>সংরক্ষণের জন্য ব্যবহার করার পরিবর্তে , আমি বরং -rবিদেশী চরিত্রগুলির সাথে ঝামেলা রোধ করতে বা এনকোডিং সমস্যা সম্পর্কিত সেই দুঃস্বপ্নকে এই নিবন্ধে বর্ণিত হিসাবে ব্যবহার করতে চাই ।
পাঠরোস

1
বৃহত / সক্রিয়ভাবে আপডেট হওয়া ডেটাসেসগুলির জন্য - একসেল-লেনদেনের প্যারামিটার ব্যবহার করুন। এটি একটি চেকপয়েন্ট তৈরি করে এবং ধারাবাহিকতা নিশ্চিত করতে সহায়তা করে। এছাড়াও, ব্যবহার --routines --triggers পরিবর্তন, যদি আপনি পদ্ধতি / ফাংশন / ট্রিগার সংরক্ষণ
accord_guy

1
এর --result-file=db_backup.sqlপরিবর্তে আপনার ব্যবহার করা উচিত > db_backup.sqlমাইএসকিউএল ডকুমেন্টেশন থেকে উদ্ধৃতি : "ইউটিএফ -16 কে সংযোগের অক্ষর সেট হিসাবে অনুমোদিত নয় ( অবিচ্ছিন্ন ক্লায়েন্টের চরিত্রের সেটগুলি দেখুন ), তাই ডাম্প ফাইলটি সঠিকভাবে লোড হবে না this এই সমস্যাটির চারপাশে কাজ করার জন্য, --result-fileবিকল্পটি ব্যবহার করুন যা আউটপুট তৈরি করে ASCII ফর্ম্যাট "।
মার্টিন ব্রাউন

13

কমপক্ষে আমার মধ্যে মাইএসকিএল এর সর্বশেষতম সংস্করণগুলিতে আপনি সরাসরি নিজের কমান্ডটিতে পাস দিতে পারবেন না।

আপনাকে চালাতে হবে:

mysqldump -u [uname] -p db_name > db_backup.sql

এবং তারপরে এটি পাসওয়ার্ডের জন্য জিজ্ঞাসা করবে।


2
-pবিকল্প এবং প্রকৃত পাসওয়ার্ডের মধ্যে স্থান
অপসারণটি

8

যদি রিমোট সার্ভার থেকে ডাউনলোড করা হয় তবে এখানে একটি সাধারণ উদাহরণ:

mysqldump -h my.address.amazonaws.com -u my_username -p db_name > /home/username/db_backup_name.sql

-P ইঙ্গিত করে যে আপনি একটি পাসওয়ার্ড প্রবেশ করবেন, এটি ডিবি_নেমের সাথে সম্পর্কিত নয়। কমান্ডটি প্রবেশ করার পরে আপনাকে পাসওয়ার্ডের জন্য অনুরোধ জানানো হবে। এটি টাইপ করুন এবং এন্টার টিপুন।


5

উইন্ডোজগুলিতে আপনাকে মাইএসকিএল বিন উল্লেখ করতে হবে যেখানে mysqldump.exe থাকে।

cd C:\xampp\mysql\bin

mysqldump -u[username] -p[password] --all-databases > C:\localhost.sql

এটি একটি টেক্সট ফাইলে সংরক্ষণ করুন যেমন ব্যাকআপ.সিএমডি


অথবা সাধারণত আপনার পাঠ্য ভেরিয়েবলটিতে মাইএসকিএল থাকার mysqlকারণে আপনি এটির ডিরেক্টরিতে না হয়ে যে কোনও জায়গা থেকে কমান্ড চালাতে পারেন ।
behz4d

2

কমান্ড প্রম্পটটি ওপেন করুন এবং সরাসরি এই আদেশটি টাইপ করুন। Mysql এর ভিতরে না গিয়ে এই কমান্ডটি টাইপ করুন।

mysqldump -u [uname] -p[pass] db_name > db_backup.sql

1
5 বছরের পুরানো প্রশ্নের স্বীকৃত উত্তর থেকে কোডের প্রথম লাইনটি অনুলিপি করা কর্মফলের জন্য সাহসী কৌশল।
ফিলিপ কোপলি

আমি এই মাইকিউএসএলডাম্প কমান্ডটি মাইএসকিএল প্রম্পটের ভিতরে চেষ্টা করেছি এবং কাজ করে নি। তাই মাত্র উত্তর দিয়েছেন :-)
নিতিন রাজা

2

মাইএসকিউএল ইনস্টলেশন ডিরেক্টরিতে যান এবং সেখান থেকে সিএমডি খুলুন। তারপরে আপনার ডাটাবেসের ব্যাকআপ পেতে নীচের কমান্ডটি কার্যকর করুন।

mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql

1

শুধু টাইপ করুন mysqldumpবাmysqldump --help আপনার সেন্টিমিডিতে প্রদর্শিত হবেhow to use

এখানে আমার সিএমডি ফলাফল

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

1

আপনি যদি ডিফল্ট পোর্ট ছাড়া অন্য মাইএসকিউএল চালাচ্ছেন:

mysqldump.exe -u username -p -P PORT_NO database > backup.sql

1

যারা কমান্ড লাইনের মধ্যে পাসওয়ার্ড টাইপ করতে চান তাদের জন্য। এটি সম্ভব তবে এটিকে উদ্ধৃতিগুলির মধ্যে পাস করার পরামর্শ দিন যাতে বিশেষ চরিত্রটি কোনও সমস্যার কারণ না ঘটে।

mysqldump -h'my.address.amazonaws.com' -u'my_username' -p'password' db_name > /path/backupname.sql

-1

এটি ব্যবহার করুন যদি আপনার আর্চাইবিড নামের ডেটাবেস থাকে তবে এই মাইএসকিএল-পি - ডেটাবেসগুলি আর্কাইডিবি> / home/datedia_backup.sql ব্যবহার করুন

এটি লিনাক্স ধরে নিলে, ব্যাকআপ ফাইলটি কোথায় সংরক্ষণ হবে তা চয়ন করুন।


শেল> mysqldump -p মাইপ্যাসওয়ার্ড - ডেটাবেসগুলি mydb> / home/backup.sql।
নবাআসা আর্চি

-1

উইন্ডোজ ব্যবহারকারীদের জন্য আপনি কমান্ডটি চালানোর জন্য আপনার মাইএসকিএল ফোল্ডারে যেতে পারেন

যেমন

cd c:\wamp64\bin\mysql\mysql5.7.26\bin
mysqldump -u root -p databasename > dbname_dump.sql

1
প্রশ্নটি মাইএসকিউএল লিনাক্সে চলছে বলে পরামর্শ দেয়।
gmauch

-1

দ্রষ্টব্য: এই পদক্ষেপটি কেবলমাত্র আপনার মাইএসকিউএল ফাইল ডাম্প করার পরে আসে (যা উপরের উত্তরগুলির বেশিরভাগটি সম্বোধন করেছে)।

এটি ধরে নেওয়া হয় যে আপনার কাছে আপনার দূরবর্তী সার্ভারে উল্লিখিত ডাম্প ফাইল রয়েছে এবং এখন আপনি এটিকে আপনার স্থানীয় কম্পিউটারে নামিয়ে আনতে চান।

.sqlআপনার রিমোট সার্ভার থেকে আপনার স্থানীয় কম্পিউটারে ফেলে দেওয়া ফাইলটি ডাউনলোড করতে , করুন

scp -i YOUR_SSH_KEY your_username@IP:name_of_file.sql ./my_local_project_dir
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.