আমার একটি ডাটাবেস রয়েছে যা বেশ বড় তাই আমি কমান্ড প্রম্পট ব্যবহার করে এটি রফতানি করতে চাই তবে কীভাবে করব তা আমি জানি না।
আমি WAMP ব্যবহার করছি।
আমার একটি ডাটাবেস রয়েছে যা বেশ বড় তাই আমি কমান্ড প্রম্পট ব্যবহার করে এটি রফতানি করতে চাই তবে কীভাবে করব তা আমি জানি না।
আমি WAMP ব্যবহার করছি।
উত্তর:
আপনার কমান্ড লাইনটি mysql কমান্ডটি স্বীকৃতি দেয় কিনা তা প্রথমে পরীক্ষা করে দেখুন। কমান্ডে না গিয়ে টাইপ করুন:
set path=c:\wamp\bin\mysql\mysql5.1.36\bin
তারপরে আপনার ডাটাবেস রফতানি করতে এই কমান্ডটি ব্যবহার করুন:
mysqldump -u YourUser -p YourDatabaseName > wantedsqlfile.sql
আপনি তখন হবে ডাটাবেস পাসওয়ার্ডের জন্য অনুরোধ জানানো ।
এই কমান্ডটি কার্যকর করার সময় এটি আপনি বর্তমানে যে পথে রয়েছেন সেখানে ডেটাবেস রফতানি করে
দ্রষ্টব্য: আমদানি ও রফতানি উভয়ই সম্পর্কে কিছু বিশদ নির্দেশিকা এখানে রয়েছে
-p
এবং thepassword
।
-p
এবং তারপরে পাসওয়ার্ডের জন্য অনুরোধ করা হবে। এইভাবে আপনি আপনার পাসওয়ার্ড সংরক্ষণ করা এড়াতে যেমন.bash_history
কেবল নিম্নলিখিত কমান্ডটি ব্যবহার করুন,
রপ্তানির জন্য:
mysqldump -u [user] -p [db_name] | gzip > [filename_to_compress.sql.gz]
আমদানির জন্য:
gunzip < [compressed_filename.sql.gz] | mysql -u [user] -p[password] [databasename]
বিঃদ্রঃ: '-p' কীওয়ার্ড এবং আপনার পাসওয়ার্ডের মধ্যে কোনও স্থান নেই।
gzip -9
ফলে ফলাফলটি কিছুটা ছোট হয় কারণ সর্বাধিক সংকোচনের ব্যবহার করা হয়।
সব খোলা কম্যান্ড প্রম্প্ট তারপর ওপেন প্রথম বিন ডিরেক্টরিতে cmd কমান্ড (ঝ আপনি কার সাথে এসেছেন সচেতন আশা cmd কমান্ড কমান্ড) ফিরে যেতে বিন আপনার মাইএসকিউএল ফোল্ডার ডিরেক্টরির wamp প্রোগ্রাম ফাইল।
আপনার আদেশ প্রদান করুন
mysqldump -u db_username -p database_name > path_where_to_save_sql_file
এন্টার টিপুন সিস্টেমটি নির্দিষ্ট ডেটাবেস রফতানি করবে এবং প্রদত্ত স্থানে এসকিএল ফাইল তৈরি করবে।
আমি আশা করি আপনি এটি পেয়েছেন :) আপনার যদি কোন প্রশ্ন থাকে তবে দয়া করে আমাকে জানান।
ঠিক আছে আপনি নীচের কমান্ড ব্যবহার করতে পারেন,
mysqldump --databases --user=root --password your_db_name > export_into_db.sql
এবং উত্পন্ন ফাইল একই ডিরেক্টরিতে উপলভ্য হবে যেখানে আপনি এই আদেশটি চালিয়েছিলেন ran
আপনি এর জন্য সরকারী রেফারেন্সে আরও জানতে পারেন mysqldump
: মাইএসকিউএল ডিবি আমদানি করুন
দ্রষ্টব্য : --databases
পরিবর্তে ব্যবহার করুন--database
শেষটি আর সমর্থিত নয়।
উপভোগ করুন :)
mysqldump: [ERROR] unknown option '--database'
কিন্তু বুদ্ধি বাদ দিয়ে --database
কাজ করেছে।
এই পথে কমান্ড প্রম্পটে যান,
C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin>
তারপরে আপনার ডাটাবেস রপ্তানি করতে এই আদেশটি দিন ( -p এর পরে কোনও স্থান নেই )
mysqldump -u[username] -p[userpassword] yourdatabase > [filepath]wantedsqlfile.sql
আপনার মাইএসকিএল উদাহরণটি এর সাথে সনাক্ত করুন:
which mysql
যদি এটি সঠিক হয় তবে নিম্নলিখিতগুলি দিয়ে রফতানি করুন (অন্যথায় আপনার ম্যাম্প ফোল্ডারে মাইএসকিএল উদাহরণে নেভিগেট করুন):
mysqldump -u [username] -p [password] [dbname] > filename.sql
এবং আপনি যদি একই সময়ে এটি জিপ করতে চান:
mysqldump -u [username] -p [password] [db] | gzip > filename.sql.gz
তারপরে আপনি সার্ভারের মধ্যে এই ফাইলটি সরাতে পারবেন:
scp user@xxx.xxx.xxx.xxx:/path_to_your_dump/filename.sql.gz your_detination_path/
(যেখানে xxx.xxx.xxx.xxx হল সার্ভারের আইপি ঠিকানা)
এবং তারপরে এটি আমদানি করুন:
gunzip filename.sql.gz | mysql -u [user] -p [password] [database]
password
কমান্ড লাইনটি থেকে আসলটি সরিয়ে ফেলছে: mysqldump -u [ব্যবহারকারীর নাম] -p [dbname]> filename.sql এটি পাসওয়ার্ডের জন্য আপনার ইতিহাস অনুসন্ধান করা লোকদের বাধা দেয়।
mysqldump -u tutorials -p'mypassword' -h 127.0.0.1 database_name > file_backup_database_name_.sql
সতর্কতা: কমান্ড লাইন ইন্টারফেসে একটি পাসওয়ার্ড ব্যবহার করা নিরাপত্তাহীন হতে পারে।
প্রক্রিয়াজাতকরণ, ফাংশন এবং ট্রিগারগুলিও রফতানি করতে --routines
প্যারামিটার যুক্ত করুন:
mysqldump -u YourUser -p YourDatabaseName --routines > wantedsqlfile.sql
--routines
তফাত্ করে তোলে :) কেবলমাত্র প্রক্রিয়াগুলি, ফাংশন এবং ট্রিগারগুলি কীভাবে রফতানি করতে হবে তার কোনও ইঙ্গিত? যারা সুইচটি ভুলে গেছেন এবং "অ্যালগরিদম" ছাড়াই "খাঁটি" ডিবি রফতানি করেছেন তাদের জন্য :)
--events
বিটিডব্লিউ ইভেন্টটি শিডিউলার ইভেন্টগুলি ডাম্প করার জন্য স্যুইচ প্রয়োজন, এবং --skip-triggers
নির্দিষ্ট না করা সত্ত্বেই ট্রিগারগুলি সর্বদা রফতানি করা হয় ( 7.4.5.3 অনুযায়ী সঞ্চিত প্রোগ্রামগুলি ডাম্পিং করা )
আপনার ডাটাবেস রফতানি করতে এই আদেশটি দিন, এতে তারিখটিও অন্তর্ভুক্ত থাকবে
mysqldump -u[username] -p[userpassword] --databases yourdatabase | gzip > /home/pi/database_backup/database_`date '+%m-%d-%Y'`.sql.gz
(-p এর পরে কোনও স্থান নেই)
--databases
হিসাবে একটি ডিবিতে এসকিউএল আমদানি করার সময় কার্যকর হয় না CREATE DATABASE XYZ;
এবং হিসাবে বিবৃতি সন্নিবেশ করবে USE XYZ;
...
আমি আমার ওয়্যাম্প সার্ভারটি ডি-তে ইনস্টল করেছি: ড্রাইভ করুন যাতে আপনাকে আপনার কমান্ড লাইন -> থেকে নীচের পথে যেতে হবে - (এবং আপনি যদি সিটিতে ইউআর ওয়্যাম্প ইনস্টল করে রেখেছেন তবে কেবল d: wtih c: এখানে প্রতিস্থাপন করুন)
D:\>cd wamp
D:\wamp>cd bin
D:\wamp\bin>cd mysql
D:\wamp\bin\mysql>cd mysql5.5.8 (whatever ur verserion will be displayed here use keyboard Tab button and select the currently working mysql version on your server if you have more than one mysql versions)
D:\wamp\bin\mysql\mysql5.5.8>cd bin
D:\wamp\bin\mysql\mysql5.5.8\bin>mysqldump -u root -p password db_name > "d:\backupfile.sql"
এখানে রুটটি আমার পিএইচপিএমইডমিনের পাসওয়ার্ড হ'ল পিএইচপিএমইডমিনের পাসওয়ার্ড তাই আপনি যদি সেই জায়গায় রুটের জন্য কোনও পাসওয়ার্ড সেট না করে থাকেন তবে ডিবি_নেম হল ডেটাবেস (যার জন্য ডাটাবেসটি আপনার ব্যাকআপ নেবে), ব্যাকআপফাইল.এসকিউএল যে ফাইলটিতে আপনি আপনার ডাটাবেসের ইউআর ব্যাকআপ চান এবং যে ফাইলটি আপনার কম্পিউটারের অন্য যে কোনও জায়গায় থেকে ব্যাকআপ ফাইলের অবস্থান (d: \backfile.sql) পরিবর্তন করতে পারে file
-p
এবং password
?
mysqldump -h [host] -p -u [user] [database name] > filename.sql
লোকালহোস্টে উদাহরণ
mysqldump -h localhost -p -u root cookbook > cookbook.sql
এই সমস্ত সমাধানের সাথে সমস্যা (ব্যবহার করে >
রিডাইরেক্টর চরিত্রটি ) হ'ল আপনি আপনার স্ট্যাম্প থেকে ডাম্প লিখেন যা আপনার ডাটাবেসের কিছু অক্ষরের এনকোডিংকে ভেঙে দিতে পারে।
আপনার যদি একটি অক্ষর এনকোডিং সমস্যা থাকে। যেমন :
ত্রুটি 1064 (42000): আপনার এসকিউএল সিন্টেক্সে আপনার একটি ত্রুটি রয়েছে; কাছাকাছি ব্যবহারের জন্য সঠিক সিনট্যাক্সের জন্য আপনার মাইএসকিউএল সার্ভার সংস্করণের সাথে সম্পর্কিত ম্যানুয়ালটি পরীক্ষা করুন ...
তারপরে, আপনার অবশ্যই ব্যবহার করা উচিত-r
বিকল্প ফাইলটি লিখতে।
মাইএসকিউএল
mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump.sql
ডকার ব্যবহার
docker exec --rm -v $pwd:dump -it mysql:5:7 mysqldump -u user -pyour-password-without-space-between-letter-p-and-your-password --default-character-set=utf8 --host $HOST database-name -r dump/dump.sql
দ্রষ্টব্য: এটি উদাহরণের মধ্যে ডাম্প হিসাবে বর্তমান পথটিকে মাউন্ট করে।
আমরা উত্তর এখানে খুঁজে পেয়েছি
বিপরীতে, <
আপনার ডেটাবেজে আপনার ডাম্প আমদানি করতে ব্যবহার করবেন না , আবার আপনার নন- utf8 অক্ষরগুলি পাস না হতে পারে; তবে উত্স বিকল্পটি পছন্দ করুন।
mysql -u user -pYourPasswordYouNowKnowHow --default-character-set=utf8 your-database
mysql> SET names 'utf8'
mysql> SOURCE dump.sql
(mysqldump.exe full path) -u (user name) -p (password) (database name) > (export database file full path)
c:>d:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe -u root -p mydbname > d:\mydb.sql
যেখানে d: amp wamp \ bin \ mysql \ mysql5.6.12 \ bin \ mysqldump.exe আপনার আসল mysqldump.exe পাথ হবে, mydbname আপনি যে ডাটাবেসের রফতানি করতে চান তার নাম এবং d: d mydb.sql সেই পথ যেখানে আপনি রফতানি করা ডাটাবেস সংরক্ষণ করতে চান
আমি wamp সার্ভার ব্যবহার করেছি। আমি চেষ্টা করেছিলাম
c:\wamp\bin\mysql\mysql5.5.8\bin\mysqldump -uroot -p db_name > c:\somefolder\filename.sql
root
mysql এর জন্য আমার ব্যবহারকারীর নাম এবং আপনার যদি কোনও পাসওয়ার্ড থাকে তবে এটির সাথে এটি নির্দিষ্ট করুন:
-p[yourpassword]
আশা করি এটা কাজ করবে.
আমি ডিবিটির ডাম্প যা ডকারে চলছিল তা নেওয়ার চেষ্টা করছিলাম এবং এটি অর্জনের জন্য নীচের কমান্ডটি নিয়ে এসেছি:
ডকার <container_id/name>
এক্সিকিউটিভ / ইউএসআর / বিন / মাইসকিल्डম্প- ইউ <db_username>
- পাসওয়ার্ড =<db_password>
db_name
>।
আশাকরি এটা সাহায্য করবে!
আপনি এই লিঙ্কটিতে প্রদত্ত টার্মিনাল থেকে কোনও ডাটাবেস রপ্তানি বা আমদানি করতে এই স্ক্রিপ্টটি ব্যবহার করতে পারেন : https://github.com/Ridhwanluthra/mysql_import_export_script/blob/master/mysql_import_export_script.sh
echo -e "Welcome to the import/export database utility\n"
echo -e "the default location of mysqldump file is: /opt/lampp/bin/mysqldump\n"
echo -e "the default location of mysql file is: /opt/lampp/bin/mysql\n"
read -p 'Would like you like to change the default location [y/n]: ' location_change
read -p "Please enter your username: " u_name
read -p 'Would you like to import or export a database: [import/export]: ' action
echo
mysqldump_location=/opt/lampp/bin/mysqldump
mysql_location=/opt/lampp/bin/mysql
if [ "$action" == "export" ]; then
if [ "$location_change" == "y" ]; then
read -p 'Give the location of mysqldump that you want to use: ' mysqldump_location
echo
else
echo -e "Using default location of mysqldump\n"
fi
read -p 'Give the name of database in which you would like to export: ' db_name
read -p 'Give the complete path of the .sql file in which you would like to export the database: ' sql_file
$mysqldump_location -u $u_name -p $db_name > $sql_file
elif [ "$action" == "import" ]; then
if [ "$location_change" == "y" ]; then
read -p 'Give the location of mysql that you want to use: ' mysql_location
echo
else
echo -e "Using default location of mysql\n"
fi
read -p 'Give the complete path of the .sql file you would like to import: ' sql_file
read -p 'Give the name of database in which to import this file: ' db_name
$mysql_location -u $u_name -p $db_name < $sql_file
else
echo "please select a valid command"
fi