মাইএসকিউএল ডাটাবেসে কীভাবে একটি একক টেবিলের ব্যাকআপ নেবেন?


441

ডিফল্টরূপে, mysqldumpএকটি সম্পূর্ণ ডাটাবেসের ব্যাকআপ নেয়। আমার মাইএসকিউএলে একটি টেবিলের ব্যাকআপ নেওয়া দরকার। এটা কি সম্ভব? আমি কীভাবে এটি পুনরুদ্ধার করব?

উত্তর:


838

.Sql থেকে একটি একক টেবিলটি ডাম্প করে পুনরুদ্ধার করুন

মনমরা ভাব

mysqldump db_name table_name > table_name.sql

দূরবর্তী ডেটাবেস থেকে ডাম্পিং করা হচ্ছে

mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql

আরও রেফারেন্সের জন্য:

http://www.abbeyworkshop.com/howto/lamp/MySQL_Export_Backup/index.html

প্রত্যর্পণ করা

mysql -u <user_name> -p db_name
mysql> source <full_path>/table_name.sql

বা এক লাইনে

mysql -u username -p db_name < /path/to/table_name.sql


সংক্ষেপিত (.sql.gz) ফর্ম্যাট থেকে একটি একক টেবিলটি ডাম্প এবং পুনরুদ্ধার করুন

ক্রেডিট: জন ম্যাকগ্রা

মনমরা ভাব

mysqldump db_name table_name | gzip > table_name.sql.gz

প্রত্যর্পণ করা

gunzip < table_name.sql.gz | mysql -u username -p db_name


13
এসকিউএল সাধারণত কমপ্রেস করে - আপনি জিজিপের মাধ্যমে উপরের কমান্ডটি পাইপ করতে পারেন এবং ফলস্বরূপ ফাইলটি আরও ছোট হবে: mysqldump db_name table_name | gzip > table_name.sql.gz পুনরুদ্ধার করতে: gunzip < table_name.sql.gz | mysql -u username -p db_name
জন ম্যাকগ্রা

আপনি যদি কমান্ড লাইনে পাসওয়ার্ড অন্তর্ভুক্ত করতে চান? সুতরাং আপনি ইতিমধ্যে -pPASSWORD
ফ্রিডো

23

mysqldump একটি tbl_name প্যারামিটার নিতে পারে, যাতে এটি প্রদত্ত টেবিলগুলিকে কেবল ব্যাকআপ করে।

mysqldump -u -p yourdb yourtable > c:\backups\backup.sql

15

চেষ্টা

for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase");
do 
mysqldump -u... -p.... NameDataBase $line > $line.sql ; 
done
  • $ লাইন কোটেন্ট নামের সারণী;)

1
এটি পৃথক টেবিল ক্যোয়ারিতে একটি ডাটাবেস ডাম্পিংয়ের জন্য কার্যকর - আমি কী জানি বিকল্পগুলি ঠিক কী করতে পারে?
xiankai

হ্যালো, -an (- নো স্বয়ংক্রিয় rehash কমান্ড দিন -A | --skip-কলাম-নাম, -n দো ফলাফলে লিখতে কলাম নামে।) -E (- নির্বাহ = বিবৃতি -e বিবৃতি | সম্পাদন বিবৃতি এবং প্রস্থান ডিফল্ট আউটপুট ফরম্যাট --batch সঙ্গে উত্পাদিত যে ভালো হয়) Fuente।। dev.mysql.com/doc/refman/5.6/en/mysql-command-options.html
রবিন গোমেজ

12

আমরা নীচের মতো কোনও শর্তযুক্ত কোনও নির্দিষ্ট টেবিলের একটি মাইএসকিএল ডাম্প নিতে পারি

mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables

যদি আমরা টেবিলে একটি নির্দিষ্ট অবস্থার যোগ করতে চাই তবে আমরা নীচের কমান্ডটি ব্যবহার করতে পারি

mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables

8

আপনি MYSQLWorkbench toolপৃথকভাবে বা এক টুকরা টেবিলের গোষ্ঠী ব্যবহার করে নির্বাচিত টেবিলগুলি ডাম্প করতে সহজেই ব্যবহার করতে পারেন তারপরে এটি অনুসরণ করুন আমদানি করুন: আপনি যদি আপনার স্থানীয় -h আইপি.এড.এড.এড.এ.বি. যোগ করে এটি হোস্ট তথ্য যোগ করতে পারেন তবে ব্যবহারকারীর নাম

mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql 

দুর্ভাগ্যক্রমে মাইএসকিএল ওয়ার্কবেঞ্চের কিছু অব্যাহতিযুক্ত সমস্যা রয়েছে যা অবৈধ তথ্য অবৈধ রফতানি করতে পারে ...
বেনেল

6

আপনি এই কোডটি ব্যবহার করতে পারেন:

এই উদাহরণে চিনির ক্রম ডাটাবেসের ব্যাকআপ নেওয়া হয় এবং আউটপুটটিকে চিনিকার্ম.এসকিউএল এ ফেলে দেয়

# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql

# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

চিনিরআরএস.এসকিউএলতে ড্রপ টেবিল থাকবে, টেবিল তৈরি করা হবে এবং সুগারক্রম ডাটাবেসে সমস্ত টেবিলের জন্য সন্নিবেশ কমান্ড থাকবে। একাউন্টের_সামগ্রী সারণীর ডাম্পের তথ্য প্রদর্শন করে সুগার.এসকিউএল এর আংশিক আউটপুট নীচে দেওয়া হয়েছে:

-

- টেবিলের জন্য টেবিল কাঠামো accounts_contacts

DROP TABLE IF EXISTS `accounts_contacts`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `accounts_contacts` (
`id` varchar(36) NOT NULL,
`contact_id` varchar(36) default NULL,
`account_id` varchar(36) default NULL,
`date_modified` datetime default NULL,
`deleted` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `idx_account_contact` (`account_id`,`contact_id`),
KEY `idx_contid_del_accid` (`contact_id`,`deleted`,`account_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;

--

5

আপনি নীচের কোডটি ব্যবহার করতে পারেন:

  1. একক টেবিল কাঠামোর জন্য একা ব্যাকআপ

-

mysqldump -d <database name> <tablename> > <filename.sql>
  1. ডেটা সহ একক সারণী কাঠামোর জন্য

-

mysqldump <database name> <tablename> > <filename.sql>

আশা করি এটি সাহায্য করবে।


5

আপনি mysqldumpকমান্ড লাইন থেকে ব্যবহার করতে পারেন :

mysqldump -u username -p password dbname tablename > "path where you want to dump"

আপনি মাইএসকিউএল ওয়ার্কবেঞ্চ ব্যবহার করতে পারেন:

বাম দিকে যান> ডেটা এক্সপোর্ট> নির্বাচন করুন স্কিমা> টেবিল নির্বাচন করুন এবং রফতানিতে ক্লিক করুন


কেবলমাত্র একটি ছোট তথ্য, -পি এবং পাসওয়ার্ডের মধ্যে স্থান বাদ দেয় -> -পাশওয়ার্ড, তবে এটি অনিরাপদ
আগুন সাগিতা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.