প্রশ্ন আমি কিভাবে আমার ডাটাবেসের একটি sql.gz ফাইল লোড করব? (আমদানি)


আমি সরাসরি জিএসপিড এসকিউএল ফাইলটি মাইএসকিউএল এ আমদানি করার চেষ্টা করছি। এটা কি সঠিক পথ?

mysql -uroot -ppassword mydb > myfile.sql.gz

118
2018-05-03 07:06


উত্স


এমনকি প্রশ্নটির gzip পার্শ্ব উপেক্ষা, আপনার তীর ভুল পথ নির্দেশ করছে ... - Matt Fletcher


উত্তর:


zcat /path/to/file.sql.gz | mysql -u 'root' -p your_database

> আউটপুট লিখতে হবে mysql কমান্ড stdout ফাইল মধ্যে myfile.sql.gz যা সম্ভবত আপনি চান না। উপরন্তু, এই কমান্ড আপনাকে MySQL ব্যবহারকারীর "রুট" পাসওয়ার্ডের জন্য প্রম্পট করবে।


187
2018-05-03 07:10



একটি ভাল নিরাপত্তা অনুশীলন হিসাবে, আমি কমান্ড লাইনে আমার পাসওয়ার্ড রাখব, আমি msql এর জন্য জিজ্ঞাসা করতে দেব। - Prof. Moriarty
বা আরও ভাল: তৈরি করুন ~/.my.cnf শংসাপত্র সঙ্গে। ;) - joschi
যেমন @ প্রফ। Moriarty ব্যাখ্যা করে, আপনি কমান্ড পরিবর্তন করতে পারেন পাসওয়ার্ড ব্যবহার না করে zcat /path/to/file.sql.gz | mysql -u 'root' -p your_database। এটি শেষ প্যারামিটারটি যে ডেটাবেসে আপনি ব্যবহার করতে চান তা জানেন, আপনার পাসওয়ার্ড নয়। - bafromca
প্রফেসর মরিয়ার্টি এর মন্তব্যটি সামান্য সংশোধন করতে, একটি ভাল নিরাপত্তা অনুশীলন করা হবে না কমান্ড লাইনে আমার পাসওয়ার্ড দিন (যেখানে এটি ইতিহাসে সংরক্ষিত হবে, বা আপনার কাঁধে দেখা হবে) এবং MySQL এর জন্য জিজ্ঞাসা করুন। শুধুমাত্র পি-ফ্ল পতাকা পাসওয়ার্ডের জন্য প্রম্পটে মাইএসকিউএল জিজ্ঞাসা করবে। - George
ধোঁকাবাজি ডাটাবেস ডাম্প সংকুচিত যে কিছু জন্য +1 - Dmitri DB


একটি sql.gz ফাইল আমদানি করার সময় একটি অগ্রগতি বার প্রদর্শন করতে, ডাউনলোড করুন pv এবং নিম্নলিখিত ব্যবহার করুন:

pv mydump.sql.gz | gunzip | mysql -u root -p

CentOS / RHEL তে, আপনি PV ইনস্টল করতে পারেন yum install pv

ডেবিয়ান / উবুন্টুতে apt-get install pv

ম্যাক, brew install pv


66
2017-11-03 19:46



pv উবুন্টু রেপোতেও মনে হয় (অন্তত 12.04 LTS এ এটি), কিন্তু আবার আপনাকে করতে হবে sudo apt-get install pv এটা পেতে. ধন্যবাদ Banjer, এই বড় ডাটাবেস আমদানি জন্য নিখুঁত! - toon81
আমি পিভি mydump.sql.gz চালানো ছিল | gunzip | mysql -u root my_database_name। কারণ আমি টেবিল আমদানি করছিলাম এবং আমার রুট ব্যবহারকারীর জন্য পাসওয়ার্ড সেট নেই - Cristiano Mendonça
ম্যাক, brew install pv - score


সবচেয়ে সহজ উপায় আমদানি করার আগে ডাটাবেস ফাইল আনজিপ করা হয়। এছাড়াও উল্লেখ করেছেন @Prof। মরিয়ার্টি আপনাকে কমান্ডের পাসওয়ার্ডটি নির্দিষ্ট করা উচিত নয় (আপনাকে পাসওয়ার্ডের জন্য জিজ্ঞাসা করা হবে)। এই কমান্ড থেকে নেওয়া webcheatsheet একসাথে ডাটাবেস আনজিপ এবং আমদানি করবে:

gunzip < myfile.sql.gz | mysql -u root -p mydb

48
2017-11-22 15:51



এছাড়াও, import করার আগে mdb তৈরি করা প্রয়োজন। এটি আপনার জন্য ডিবি তৈরি করে না। - Siddhartha
আমি আমার পাইপ খুঁজে পাওয়া যায় নি gunzip একটি 10 ​​গিগাবাইট সংকুচিত ফাইল উপর আমার আমদানি স্থির করা হয়েছে। মেমরি সীমাবদ্ধতা বা কিছু কারণে এটি নিশ্চিত না হলেও ভবিষ্যতে এক ধাপে আমি ভুল পথে এগুতে চাই। - Ryan Tuck
@ রায়ানটক যে এই ধরনের প্রসেস সীমাবদ্ধ করা হয় :) - icc97
@ সিদ্ধার্থ এসকিউএল ডাম্প ফাইলের উপর নির্ভর করে। কখনও কখনও তারা ডাটাবেস বিবৃতি তৈরি অন্তর্ভুক্ত। - rooby
@ রুবি যে ইন্দ্রিয় তোলে। - Siddhartha


আপনি থেকে একটি ত্রুটি পেতে হলে zcat, যার মধ্যে ত্রুটির বার্তাটি একটি অতিরিক্ত প্রতিক্রিয়া সহ ফাইলের নাম ধারণ করে .Z, তারপর ব্যবহার করে দেখুন gzcat পরিবর্তে, বর্ণিত হিসাবে https://stackoverflow.com/questions/296717/zcat-wont-unzip-files-properly


10
2017-07-08 13:59





এসকিউএল ফাইলে কোন ইউএসই-স্টেটমেন্ট থাকলেও চেক করুন। কমান্ড লাইনের ডাটাবেস নির্দিষ্ট করার জন্য গ্যারান্টি দেয় না যে যদি এসকিউএল ফাইলের মধ্যে একটি ভিন্ন গন্তব্য নির্দিষ্ট থাকে তবে ডেটা শেষ হয়।


3
2018-05-03 11:28



আপনি শুধু তাই কমান্ড প্রসারিত করতে হবে: pv mydump.sql.gz | gunzip | mysql -u root -p  your_database। গৃহীত উত্তর এই পদ্ধতি ব্যবহার করে। - bafromca


MacOS এ, আমি এটি ব্যবহার করেছি:

zcat < [Database].sql.gz | mysql -u root -p [Database Name in MySQL]

আপনার পাসওয়ার্ড লিখুন, এবং voila!


3
2017-11-28 07:41





জন্য Bzip2 সংকুচিত ফাইল (.sql.bz2), ব্যবহার করুন:

bzcat <file> | mysql -u <user> -p <database>

অথবা

pv <file> | bunzip2 | mysql -u <user> -p <database>

অগ্রগতি বার দেখতে।


1
2017-08-01 15:25





তুমি ব্যবহার করতে পার -c, --stdout, --to-stdout বিকল্প gunzip হুকুম

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

gunzip -c file.sql.gz | mysql -u root -p database

0
2017-09-16 06:03