ডিফল্টরূপে, mysqldump
একটি সম্পূর্ণ ডাটাবেসের ব্যাকআপ নেয়। আমার মাইএসকিউএলে একটি টেবিলের ব্যাকআপ নেওয়া দরকার। এটা কি সম্ভব? আমি কীভাবে এটি পুনরুদ্ধার করব?
ডিফল্টরূপে, mysqldump
একটি সম্পূর্ণ ডাটাবেসের ব্যাকআপ নেয়। আমার মাইএসকিউএলে একটি টেবিলের ব্যাকআপ নেওয়া দরকার। এটা কি সম্ভব? আমি কীভাবে এটি পুনরুদ্ধার করব?
উত্তর:
মনমরা ভাব
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
ক্রেডিট: জন ম্যাকগ্রা
মনমরা ভাব
mysqldump db_name table_name | gzip > table_name.sql.gz
প্রত্যর্পণ করা
gunzip < table_name.sql.gz | mysql -u username -p db_name
চেষ্টা
for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase");
do
mysqldump -u... -p.... NameDataBase $line > $line.sql ;
done
আমরা নীচের মতো কোনও শর্তযুক্ত কোনও নির্দিষ্ট টেবিলের একটি মাইএসকিএল ডাম্প নিতে পারি
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables
যদি আমরা টেবিলে একটি নির্দিষ্ট অবস্থার যোগ করতে চাই তবে আমরা নীচের কমান্ডটি ব্যবহার করতে পারি
mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
আপনি MYSQLWorkbench tool
পৃথকভাবে বা এক টুকরা টেবিলের গোষ্ঠী ব্যবহার করে নির্বাচিত টেবিলগুলি ডাম্প করতে সহজেই ব্যবহার করতে পারেন তারপরে এটি অনুসরণ করুন আমদানি করুন: আপনি যদি আপনার স্থানীয় -h আইপি.এড.এড.এড.এ.বি. যোগ করে এটি হোস্ট তথ্য যোগ করতে পারেন তবে ব্যবহারকারীর নাম
mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql
আপনি এই কোডটি ব্যবহার করতে পারেন:
এই উদাহরণে চিনির ক্রম ডাটাবেসের ব্যাকআপ নেওয়া হয় এবং আউটপুটটিকে চিনিকার্ম.এসকিউএল এ ফেলে দেয়
# 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;
--
আপনি নীচের কোডটি ব্যবহার করতে পারেন:
-
mysqldump -d <database name> <tablename> > <filename.sql>
-
mysqldump <database name> <tablename> > <filename.sql>
আশা করি এটি সাহায্য করবে।
আপনি mysqldump
কমান্ড লাইন থেকে ব্যবহার করতে পারেন :
mysqldump -u username -p password dbname tablename > "path where you want to dump"
আপনি মাইএসকিউএল ওয়ার্কবেঞ্চ ব্যবহার করতে পারেন:
বাম দিকে যান> ডেটা এক্সপোর্ট> নির্বাচন করুন স্কিমা> টেবিল নির্বাচন করুন এবং রফতানিতে ক্লিক করুন
mysqldump db_name table_name | gzip > table_name.sql.gz
পুনরুদ্ধার করতে:gunzip < table_name.sql.gz | mysql -u username -p db_name