mysqldump
একা করে করা কি সম্ভব SQL query
?
আমি পুরো ডাটাবেসটি ডাম্প করতে চাইছি , যেমন phpmyadmin
আপনি যখন রফতানি করবেন doesSQL
mysqldump
একা করে করা কি সম্ভব SQL query
?
আমি পুরো ডাটাবেসটি ডাম্প করতে চাইছি , যেমন phpmyadmin
আপনি যখন রফতানি করবেন doesSQL
উত্তর:
মাইএসকিএলড্প নয়, মাইএসকিএল ক্লিপ ...
mysql -e "select * from myTable" -u myuser -pxxxxxxxxx mydatabase
আপনি যদি চান তবে এটি কোনও ফাইলে পুনর্নির্দেশ করতে পারেন:
mysql -e "select * from myTable" -u myuser -pxxxxxxxx mydatabase > mydumpfile.txt
আপডেট: মূল পোস্টটি জিজ্ঞাসা করে তিনি ডাটাবেস থেকে ডাম্প করতে পারে কিনা তা জিজ্ঞাসা করা হয়েছিল। তিনি কী জিজ্ঞাসা করেছিলেন এবং তার অর্থ কী ছিল তা আলাদা। তিনি সত্যিই কেবল সমস্ত টেবিলগুলি মাইসকি্লডম্প করতে চেয়েছিলেন।
mysqldump --tables myTable --where="id < 1000"
এই কাজ করা উচিত
mysqldump --databases X --tables Y --where="1 limit 1000000"
--no-create-info
বিকল্পটিতে যুক্ত করেছেন তা নিশ্চিত করুন । একটি উদাহরণের জন্য আমার উত্তর দেখুন ।
আপনি এই জাতীয় সিএসভি হিসাবে একটি কোয়েরি ফেলে দিতে পারেন:
SELECT * from myTable
INTO OUTFILE '/tmp/querydump.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
scp
সেক্ষেত্রে আপনি সংযোগ বন্ধ হওয়ার পরে ডাম্প করা ফাইলটি পুনরুদ্ধার করতে পারবেন । এখানে একটি উদাহরণ। scp user@remote-server.com:/tmp/querydump.csv ~/local.csv
কোনও জিজ্ঞাসাটি ব্যবহার করে একটি সারণী ফেলে দিন:
mysqldump mydatabase mytable --where="mycolumn = myvalue" --no-create-info > data.sql
একটি সম্পূর্ণ টেবিল ডাম্প:
mysqldump mydatabase mytable > data.sql
মন্তব্য:
mydatabase
,mytable
, এবং যেখানে আপনার পছন্দসই মান বিবৃতি।mysqldump
অন্তর্ভুক্ত DROP TABLE
এবং CREATE TABLE
বিবৃতি হবে । সুতরাং, যদি আপনি সংরক্ষণ করা ডেটা ফাইল থেকে পুনরুদ্ধার করার সময় আপনার টেবিলের সমস্ত ডেটা মুছতে না চান তবে নিশ্চিত হয়ে নিন যে আপনি এটি ব্যবহার করেছেন--no-create-info
বিকল্পটি ।-h
, -u
এবং -p
আপনার পছন্দসই ডাটাবেসের হোস্ট, ব্যবহারকারী এবং পাসওয়ার্ড যথাক্রমে উল্লেখ করার জন্য উপরোক্ত উদাহরণে কমান্ড অপশন।আপনি অপেক্ষা করছেন এমন আউটপুট তৈরি করতে আপনি mysqldump এ - কোথাও বিকল্পটি ব্যবহার করতে পারেন:
mysqldump -u root -p test t1 --where="1=1 limit 100" > arquivo.sql
Test.t1 থেকে সর্বাধিক 100 টি সারি ডাটাবেস টেবিল থেকে ফেলে দেওয়া হবে।
চিয়ার্স, ডব্লিউবি
আপনি যদি কোনও ফাইলের মধ্যে আপনার শেষ এন পরিমাণের রেকর্ড রফতানি করতে চান তবে আপনি নিম্নলিখিতটি চালাতে পারেন:
mysqldump -u user -p -h localhost --where "1=1 ORDER BY id DESC LIMIT 100" database table > export_file.sql
উপরেরগুলি সর্বশেষ 100 টি রেকর্ডটি এক্সপোর্ট_ফিল.এসকিউএল-তে সংরক্ষণ করবে, আপনি যে টেবিলটি থেকে রফতানি করছেন তাতে স্বয়ংক্রিয় বর্ধিত আইডি কলাম রয়েছে ass
আপনাকে ব্যবহারকারী, লোকালহোস্ট, ডাটাবেস এবং টেবিলের মানগুলি পরিবর্তন করতে হবে। আপনি বিকল্পভাবে আইডি কলাম এবং এক্সপোর্ট ফাইলের নাম পরিবর্তন করতে পারেন।
মাইএসকিউএল ওয়ার্কবেঞ্চ জিওআইতে খুব সুন্দরভাবে এই বৈশিষ্ট্যটি রয়েছে। কেবল একটি ক্যোয়ারি চালান, রফতানি / আমদানির পাশের সংরক্ষণ আইকনটিতে ক্লিক করুন:
তারপরে তালিকার "এসকিউএল ইনসার্ট স্টেটমেন্টস (*। এসকিউএল)" নির্বাচন করুন।
একটি নাম লিখুন, সংরক্ষণ করুন ক্লিক করুন, টেবিলের নামটি নিশ্চিত করুন এবং আপনার ডাম্প ফাইল থাকবে।
এখানে অনেকগুলি সংমিশ্রণ আমার আসল ব্যবহারিক উদাহরণ, মিটারমিড এবং টাইমস্ট্যাম্প উভয়ের ভিত্তিতে রেকর্ড নির্বাচন করা records আমার এই আদেশটি বছরের পর বছর ধরে প্রয়োজন। সত্যিই দ্রুত কার্যকর করা।
mysqldump -uuser -ppassword main_dbo trHourly --where="MeterID =5406 AND TIMESTAMP<'2014-10-13 05:00:00'" --no-create-info --skip-extended-insert | grep '^INSERT' > 5406.sql
mysql প্রশ্নের ফলাফল কমান্ড লাইনটি রফতানি করুন port
mysql -h120.26.133.63 -umiyadb -proot123 miya -e "select * from user where id=1" > mydumpfile.txt