mysql সবজ মাইএসকিউএল কমান্ড লাইন ব্যবহার করে একটি এসকিউএল ফাইল কিভাবে আমদানি করবেন?




সবজি রপ্তানি ব্যবসা (24)

আমি পাওয়ারশেল 5 দিয়ে উইন্ডোজ 10 ব্যবহার করছি এবং আমার প্রায় সব "ইউনিক্স-মত" সমাধানগুলি আমার জন্য কাজ করে না।

> mysql -u[username] [database-name] < my-database.sql
At line:1 char:31
+ mysql -u[username] [database-name] < my-database.sql
+                               ~
The '<' operator is reserved for future use.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : RedirectionNotSupported

আমি এই কমান্ড ব্যবহার করে শেষ পর্যন্ত।

> type my-database.sql | mysql -u[username] -h[localhost] -p [database-name]

এবং এটি পুরোপুরি কাজ করে, আশা করি এটি সাহায্য করে।

ধন্যবাদ @ answer btw।

phpMyAdmin থেকে একটি এক্সপোর্ট সহ একটি .sql ফাইল আছে। আমি কমান্ড লাইন ব্যবহার করে এটি একটি ভিন্ন সার্ভারে আমদানি করতে চাই।

আমি একটি উইন্ডোজ সার্ভার 2008 R2 ইনস্টলেশন আছে। আমি সি ড্রাইভে ফাইলটি স্থাপন করেছি, এবং আমি এই কমান্ডটি চেষ্টা করেছি

database_name < file.sql

এটা কাজ করছে না আমি সিনট্যাক্স ত্রুটি পেতে।

  • কোন সমস্যা ছাড়াই আমি কিভাবে এই ফাইলটি আমদানি করতে পারি?
  • আমি প্রথমে একটি ডাটাবেস তৈরি করতে হবে?

নিম্নলিখিত পদক্ষেপগুলি MySQL ডাটাবেসটিতে file.sql আপলোড করতে সহায়তা করে।

ধাপ 1: কোনও ডিরেক্টরিতে file.sql.zip আপলোড করুন এবং সেখানে আনজিপ করুন
দ্রষ্টব্য : sudo apt-get install unzip : sudo apt-get unzip file.sql.zip
পদক্ষেপ 2: এখন যে ডিরেক্টরির নেভিগেট। উদাহরণ: cd /var/www/html

ধাপ 3: mysql -u username -p database-name < file.sql
পাসওয়ার্ড প্রবেশ করুন এবং আপলোড সম্পন্ন না হওয়া পর্যন্ত অপেক্ষা করুন।


একক ডাটাবেস আমদানি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

mysql -u username -p password dbname < dump.sql

একাধিক ডাটাবেস ডাম্প আমদানি করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

mysql -u username -p password < dump.sql

এখানে বেশিরভাগ উত্তর কেবল সাধারণ কমান্ডটি উল্লেখ করে

mysql -u ডাটাবেস_উসার-পি [db_name] <database_file.sql

আজ এটি বেশ সাধারণ যে ডেটাবেস এবং টেবিলগুলিতে utf8-collation রয়েছে যেখানে এই কমান্ডটি যথেষ্ট নয়। এক্সপোর্ট করা টেবিলের মধ্যে utf8-collation থাকার জন্য এটি এই কমান্ডটি ব্যবহার করতে হবে:

mysql -u database_user -p --default-character-set = utf8 [db_name] <database_file.sql

Surley এই অন্যান্য অক্ষর জন্য খুব কাজ করে, ডান নোট প্রদর্শন কিভাবে এখানে দেখা যাবে:

https://dev.mysql.com/doc/refman/5.7/en/show-collation.html

এক মন্তব্য উল্লেখ করা হয়েছে যে যদি কোন ডাটাবেস উপস্থিত না থাকে তবে একটি খালি ডাটাবেস তৈরি করতে হবে। এটি কিছু ক্ষেত্রে সঠিক হতে পারে, তবে রপ্তানি ফাইলের উপর নির্ভর করে। যদি এক্সপোর্ট হওয়া ফাইলটি ইতিমধ্যে ডাটাবেস তৈরি করার কমান্ড অন্তর্ভুক্ত করে তবে ডেটাবেসটি কোনও আলাদা ধাপে তৈরি করতে হবে না, যা এমনকি আমদানি করতে ত্রুটিও সৃষ্টি করতে পারে। সুতরাং আমদানি করার জন্য এটি প্রথমে কোনও ফাইলের মধ্যে কোন কমান্ডগুলি অন্তর্ভুক্ত আছে তা জানার জন্য পরামর্শ দেওয়া হয়, এক্সপোর্টে এটি পরামর্শযোগ্য মনে রাখবেন, বিশেষ করে যদি ফাইলটি খুব বড় এবং কোনও সম্পাদককে পড়তে কঠিন হয়।

এখানে তালিকাবদ্ধ এবং এখানে ব্যাখ্যা করা কমান্ডের জন্য আরও পরামিতি রয়েছে:

https://dev.mysql.com/doc/refman/5.7/en/mysql-command-options.html

আপনি যদি অন্য ডেটাবেস-সংস্করণটি ব্যবহার করেন তবে ম্যানুয়ালটির অনুরূপ সংস্করণটি অনুসন্ধানের বিবেচনা করুন। উল্লিখিত লিঙ্ক মাইএসকিউএল সংস্করণ 5.7 পড়ুন।


আপনার MySQL আছে যেখানে ডিরেক্টরি যান।

 c:\mysql\bin\> mysql -u username -p password database_name <
 filename.sql

এছাড়াও সমস্ত ডাটাবেস ডাম্প করতে, -all-databases বিকল্পটি ব্যবহার করুন, এবং কোন ডেটাবেসগুলির নাম আর নির্দিষ্ট করার প্রয়োজন নেই।

mysqldump -u username -ppassword all-databases > dump.sql

অথবা আপনি এই কাজ করতে SQLyog মত কিছু GUI ক্লায়েন্ট ব্যবহার করতে পারেন।


আমার জন্য কাজ করা একটি সমাধান নীচে:

Use your_database_name;
SOURCE path_to_db_sql_file_on_your_local;


একইভাবে https://.com/a/17666285/1888983
আমার জন্য মূল পার্থক্য:

  1. ডাটাবেস প্রথম বিদ্যমান আছে
  2. -p এবং পাসওয়ার্ড মধ্যে কোন স্থান
shell> mysql -u root -ppassword #note: no space between -p and password
mysql> CREATE DATABASE databasename;
mysql> using databasename;
mysql> source /path/to/backup.sql

MariaDB সঙ্গে Fedora 26 চলমান।


  1. MySQL কমান্ড লাইন খুলুন
  2. আপনার mysql bin ডিরেক্টরিটি টাইপ করুন এবং এন্টার টিপুন
  3. MySQL সার্ভারের bin ফোল্ডারের ভিতরে আপনার SQL ফাইল আটকান।
  4. MySQL একটি ডাটাবেস তৈরি করুন।
  5. আপনি SQL ফাইল আমদানি করতে চান যেখানে বিশেষ ডাটাবেস ব্যবহার করুন।
  6. টাইপ source databasefilename.sql এবং লিখুন লিখুন
  7. আপনার এসকিউএল ফাইল সফলভাবে আপলোড।

mysql --user=[user] --password=[password] [database] < news_ml_all.sql

কমান্ড লাইন থেকে এসকিউএল আমদানি করতে আমরা এই কমান্ডটি ব্যবহার করতে পারি:

mysql -u username -p password db_name < file.sql

উদাহরণস্বরূপ, যদি ব্যবহারকারীর নাম root এবং পাসওয়ার্ড হয় password । এবং আপনার একটি ডাটাবেস নাম আছে bank এবং এসকিউএল ফাইল bank.sql । তারপর, সহজভাবে এটি পছন্দ করুন:

mysql -u root -p password bank < bank.sql

আপনার এসকিউএল ফাইল যেখানে মনে রাখবেন। যদি আপনার এসকিউএল ফাইল Desktop ফোল্ডার / ডিরেক্টরিতে থাকে তবে ডেস্কটপ ডিরেক্টরিটি যান এবং কমান্ডটি এভাবে লিখুন:

~ ? cd Desktop
~/Desktop ? mysql -u root -p password bank < bank.sql

এবং যদি আপনার Project ডিরেক্টরী এবং আপনার SQL ফাইল Desktop ডিরেক্টরিতে থাকে। আপনি যদি Project ডিরেক্টরি থেকে এটি অ্যাক্সেস করতে চান তবে আপনি এটি করতে পারেন:

~/Project ? mysql -u root -p password bank < ~/Desktop/bank.sql

mysqldump একটি সাধারণ ব্যবহার একটি সম্পূর্ণ ডাটাবেসের ব্যাকআপ করার জন্য:

shell> mysqldump db_name > backup-file.sql

আপনি ডাম্প ফাইলটি আবার সার্ভারে লোড করতে পারেন:

ইউনিক্স

shell> mysql db_name < backup-file.sql

উইন্ডোজ কমান্ড প্রম্পটে একই:

mysql -p -u [user] [database] < backup-file.sql

শক্তির উৎস

C:\> cmd.exe /c "mysql -u root -p db_name < backup-file.sql"

MySQL কমান্ড লাইন

mysql> use db_name;
mysql> source backup-file.sql;

নিম্নলিখিত কমান্ড WAMP এ উইন্ডোজ 7 এ কমান্ড লাইন (সিএমডি) থেকে আমার জন্য কাজ করে।

d:/wamp/bin/mysql/mysql5.6.17/bin/mysql.exe -u root -p db_name < database.sql

আপনি ইতিমধ্যে ডাটাবেস dump বা sql ফাইল আমদানি করতে নিম্নলিখিত ব্যবহার করুন

mysql -u username -p database_name < file.sql

যদি আপনি MySQL- তে প্রাসঙ্গিক ডাটাবেস (খালি) তৈরি করতে না চান, তবে প্রথম কমান্ডটি MySQL কনসোলে টার্মিনালে বা cmd এ নিম্নলিখিত কমান্ডটি চালানোর মাধ্যমে

mysql -u userName -p;

এবং যখন প্রম্পট পাসওয়ার্ড প্রদান।

পরবর্তী একটি ডাটাবেস তৈরি করুন এবং এটি ব্যবহার করুন

mysql>create database yourDatabaseName;
mysql>use yourDatabaseName;

তারপরে ডাটাবেস থেকে sql বা dump ফাইল আমদানি করুন

mysql> source pathToYourSQLFile;

দ্রষ্টব্য: যদি আপনার টার্মিনালটি dump বা sql ফাইলের অবস্থানের স্থানে থাকে না তবে উপরের আপেক্ষিক পাথটি ব্যবহার করুন।


আমি Mac OS X ব্যবহার করে যারা এটি দরকারী হতে পারে:

/Applications/xampp/xamppfiles/bin/mysql -u root -p database < database.sql

mamp বা অন্যান্য ওয়েব সার্ভারের সাথে xampp প্রতিস্থাপন করুন।


আমি ডাটাবেস তৈরি করা হয় না যেখানে সমস্যা চলমান রাখা।

আমি এটা ভালো সংশোধন করা হয়েছে

mysql -u root -e "CREATE DATABASE db_name"
mysql db_name --force < import_script.sql

একটি ডাটাবেস আমদানি করুন

  1. ড্রাইভে যান:

    command: d:
  2. MySQL লগইন

    command: c:\xampp\mysql\bin\mysql -u root -p
  3. এটা pwd জন্য জিজ্ঞাসা করবে। এটি লিখুন:

    pwd
  4. ডাটাবেস নির্বাচন করুন

    use DbName;
  5. ফাইল নাম প্রদান করুন

    \.DbName.sql

একটি SQL ফাইলের মধ্যে একটি ডাটাবেস ডাম্প করতে নিম্নলিখিত কমান্ড ব্যবহার করুন

mysqldump -u username -p database_name > database_name.sql

ডাটাবেসের মধ্যে একটি এসকিউএল ফাইল আমদানি করতে (নিশ্চিত করুন যে আপনি SQL ফাইল হিসাবে একই ডিরেক্টরিতে আছেন বা ফাইলটির সম্পূর্ণ পথ সরবরাহ করুন)

mysql u -username -p database_name < database_name.sql

চেষ্টা করুন:

mysql -u username -p database_name < file.sql

MySQL বিকল্প চেক করুন।

দ্রষ্টব্য -1: SQL ফাইল ফাইল. file.sql সম্পূর্ণ পথটি ব্যবহার করা ভাল।

নোট -2: --triggers এবং মূল ডাটাবেসের ট্রিগারগুলি রাখতে -R এবং - --triggers ব্যবহার করুন। তারা ডিফল্ট দ্বারা অনুলিপি করা হয় না।

দ্রষ্টব্য-3 যদি আপনার ইতিমধ্যেই বিদ্যমান না থাকে এবং এক্সপোর্ট করা CREATE DATABASE ( --no-create-db বা -n বিকল্প সহ এক্সপোর্ট করা থাকে), আপনার আগে থেকেই (খালি) ডাটাবেস CREATE DATABASE করতে হতে পারে, আপনার আগে এটা আমদানি করতে পারেন।


একযোগে একাধিক এসকিউএল ফাইল আমদানি করার জন্য, এই ব্যবহার করুন:

# Unix-based solution
for i in *.sql;do mysql -u root -pPassword DataBase < $i;done

সহজ আমদানি করার জন্য:

# Unix-based solution
mysql -u root -pPassword DataBase < data.sql

WAMP :

#mysqlVersion replace with your own version
C:\wamp\bin\mysql\mysqlVersion\bin\mysql.exe -u root -pPassword DataBase < data.sql

XAMPP এর জন্য:

C:\xampp\mysql\bin\mysql -u root -pPassword DataBase < data.sql

কমান্ড লাইনের ডাটাবেসের নাম উল্লেখ করার প্রয়োজন নেই CREATE DATABASE IF NOT EXISTS db_name ফাইলে CREATE DATABASE IF NOT EXISTS db_name এবং USE db_name বিবৃতিগুলি না থাকে।

শুধু নিশ্চিত করুন যে আপনি কোনও ব্যবহারকারীর সাথে সংযোগ করছেন যার ডাটাবেস তৈরি করার অনুমতি রয়েছে, যদি .sql ফাইলে উল্লেখিত ডাটাবেস বিদ্যমান না থাকে।


বিশাল ফাইলগুলি আমদানি করার সময় নেওয়া সময় সম্পর্কে: সবচেয়ে গুরুত্বপূর্ণ, এটি আরো বেশি সময় নেয় কারণ MySQL এর ডিফল্ট সেটিংটি autocommit = true । আপনার ফাইলটি আমদানি করার আগে আপনাকে সেটটি অবশ্যই সেট করতে হবে এবং তারপরে কিভাবে আমদানি একটি মণির মত কাজ করে তা পরীক্ষা করে দেখুন।

আপনি শুধু নিম্নলিখিত জিনিস করতে হবে:

mysql> use db_name;

mysql> SET autocommit=0 ; source the_sql_file.sql ; COMMIT ;

আপনার স্কিমাতে আমদানি করার সবচেয়ে সহজ উপায়:

MySQL এ লগইন করুন এবং কমান্ড উল্লেখ নিচে সমস্যা।

mysql> use your_db_name;

mysql> source /opt/file.sql;

তথ্যের জন্য আমি শুধু ডিফল্ট রুট + ছাড়াই ছিলাম, এটি উপরের সব উত্তরের সাথে কাজ করে নি।

  • আমি সব সুবিধা এবং একটি পাসওয়ার্ড দিয়ে একটি নতুন ব্যবহারকারী তৈরি। এটা কাজ করে।

  • SPACE ছাড়া - পাসওয়ার্ড।





import