আমি মাইএসকিউএলে এসকিউএল কোয়েরিযুক্ত একটি পাঠ্য ফাইল কার্যকর করতে চাই।
আমি চালানোর চেষ্টা করেছি source /Desktop/test.sql
এবং ত্রুটিটি পেয়েছি:
mysql>। \ হোম \ শিবকুমার \ ডেস্কটপ \ test.sql এরর
আমি কী ভুল করছি তার কোন ধারণা?
আমি মাইএসকিউএলে এসকিউএল কোয়েরিযুক্ত একটি পাঠ্য ফাইল কার্যকর করতে চাই।
আমি চালানোর চেষ্টা করেছি source /Desktop/test.sql
এবং ত্রুটিটি পেয়েছি:
mysql>। \ হোম \ শিবকুমার \ ডেস্কটপ \ test.sql এরর
আমি কী ভুল করছি তার কোন ধারণা?
উত্তর:
আপনি যদি মাইএসকিউএল কমান্ড লাইনে থাকেন তবে mysql>
আপনাকে এসকিউএল ফাইল হিসাবে ঘোষণা করতে হবে source
।
mysql> source \home\user\Desktop\test.sql;
\
জায়গার আগে ব্যবহার করতে পারেন , বা ফাইলের নামটি মোড়াতে পারেন "
।
আপনার কাছে যথেষ্ট প্রচুর বিকল্প রয়েছে:
mysql -h hostname -u user database < path/to/test.sql
-p
বিকল্পের সাথে দেওয়া যেতে পারে, এটির প্রস্তাব দেওয়া হয় না: একই হোস্টের অন্যান্য ব্যবহারকারীরা ps
এই ক্ষেত্রে এটি পড়ার মতো সিস্টেম সরঞ্জাম ব্যবহার করতে পারেন ।
-p
কোনও যুক্তি ছাড়াই পরের লাইনে পাসওয়ার্ডটি প্রবেশের অনুরোধ জানায়
আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে একটি টেক্সট ফাইলে লেখা মাইএসকিএল বিবৃতি কার্যকর করতে পারেন:
mysql -u yourusername -p yourpassword yourdatabase < text_file
যদি আপনার ডেটাবেস এখনও তৈরি না করা হয় তবে প্রথমে আপনার মাইএসকিএলে লগইন করুন:
mysql -u yourusername -p yourpassword yourdatabase
তারপর:
mysql>CREATE DATABASE a_new_database_name
তারপর:
mysql -u yourusername -p yourpassword a_new_database_name < text_file
যা করা উচিৎ!
এখানে আরও তথ্য: http://dev.mysql.com/doc/refman/5.0/en/mysql-batch-commands.html
mysql -u yourusername -p"yourpassword"
এটি করার জন্য আমার প্রিয় বিকল্পটি হ'ল:
mysql --user="username" --database="databasename" --password="yourpassword" < "filepath"
আমি এটি এইভাবে ব্যবহার করি কারণ আপনি যখন এটি "" দিয়ে স্ট্রিং করেন তখন আপনি ভুল পথ এবং ফাঁকা স্থানগুলি এবং - এবং সম্ভবত আরও বেশি সমস্যাগুলির মুখোমুখি হননি যা সমস্যাগুলি এড়িয়ে চলে iding
@ এলকুকো মন্তব্যে আমি এই কমান্ডটি [স্পেস] এর সাথে আগে ব্যবহার করার পরামর্শ দিচ্ছি যাতে এটি ইতিহাসে সংরক্ষণের বিষয়টি উপেক্ষা করতে বাশকে বলে, এটি বেশিরভাগ ব্যাশে বাক্স থেকে বেরিয়ে আসবে।
ইতিহাসে এটি আপনার কমান্ডটি সংরক্ষণ করার ক্ষেত্রে নিম্নলিখিত সমাধানগুলি দেখুন:
ইতিহাসে না রেখে কমান্ড কার্যকর করুন
অতিরিক্ত সুরক্ষা সম্পাদনা
আপনি যদি অতিরিক্ত সুরক্ষিত হতে চান তবে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন এবং কমান্ড লাইন ইনপুটটিতে পাসওয়ার্ড প্রবেশ করতে পারেন:
mysql --user="username" --database="databasename" -p < "filepath"
শীর্ষস্থানীয় সমস্ত উত্তর ভাল। তবে কেবলমাত্র কেউ যদি রিমোট সার্ভারে একটি পাঠ্য ফাইল থেকে ক্যোয়ারী চালাতে চান এবং কোনও ফাইলে ফলাফল (কনসোল দেখানোর পরিবর্তে) সংরক্ষণ করতে চান তবে আপনি এটি করতে পারেন:
mysql -u yourusername -p yourpassword yourdatabase < query_file > results_file
আশা করি এটি কাউকে সাহায্য করবে।
-p
এবং পাসওয়ার্ডের মধ্যে কোনও স্থান থাকতে হবে না
SELECT ... INTO OUTFILE /path/to/file.csv
বেশি কার্যকর উপায়। বিকল্পগুলি এবং সিনট্যাক্সটি এখানে দেখুন - dev.mysql.com/doc/refman/5.7/en/select-into.html
.Sql ফাইলের পথটি এইভাবে দিন:
source c:/dump/SQL/file_name.sql;
আমি এখানেও এই উত্তরটি অনুসন্ধান করতে এসেছি এবং আমি এখানে যা পেয়েছি তা আমার পক্ষে সবচেয়ে ভাল কাজ করেছে: দ্রষ্টব্য আমি উবুন্টু 16.xx ব্যবহার করছি
mysql -u <your_user> - p
source file_name.sql
আশাকরি এটা সাহায্য করবে.
mysql -u<user> -p -e 'source filename.sql'
mysql> source C:\Users\admin\Desktop\fn_Split.sql
একক উদ্ধৃতি উল্লেখ করবেন না।
উপরের কমান্ডটি যদি কাজ না করে তবে সি: ড্রাইভে ফাইলটি অনুলিপি করুন এবং আবার চেষ্টা করুন। নিচে দেখানো হয়েছে,
mysql> source C:\fn_Split.sql
কমান্ড লাইন থেকে পাসওয়ার্ড আর্গুমেন্ট সরাসরি পাস করা কখনও ভাল অভ্যাস নয়, এটি ~/.bash_history
ফাইলে সংরক্ষণ করা হয় এবং অন্যান্য অ্যাপ্লিকেশন থেকে অ্যাক্সেসযোগ্য হতে পারে।
পরিবর্তে এটি ব্যবহার করুন:
mysql -u user --host host --port 9999 database_name < /scripts/script.sql -p
Enter password:
mysql -uusername -ppassword database-name < file.sql
এটি করার অনেক উপায়।
From Workbench: File > Run SQL Script -- then follow prompts
From Windows Command Line:
Option 1: mysql -u usr -p
mysql> source file_path.sql
Option 2: mysql -u usr -p '-e source file_path.sql'
Option 3: mysql -u usr -p < file_path.sql
Option 4: put multiple 'source' statements inside of file_path.sql (I do this to drop and recreate schemas/databases which requires multiple files to be run)
mysql -u usr -p < file_path.sql
আপনি যদি কমান্ড লাইন থেকে ত্রুটি পেয়ে থাকেন তবে নিশ্চিত হয়ে নিন যে আপনি আগে চালিয়ে গেছেন
cd {!!>>mysqld.exe home directory here<<!!}
mysqld.exe --initialize
এটি অবশ্যই mysqld.exe ডিরেক্টরি থেকে চালানো উচিত, সুতরাং সিডি।
আশা করি এটি কেবল অনর্থক নয় সহায়ক।
যেহেতু mysql -u yourusername -p yourpassword yourdatabase < text_file
রিমোট সার্ভারে কাজ করেনি (অ্যামাজনের ইসি 2) ...
ডাটাবেসটি প্রথম তৈরি করা হয়েছে তা নিশ্চিত করুন।
তারপর:
mysql --host=localhost --user=your_username --password=your_password your_database_name < pathTofilename.sql
ভবিষ্যতের রেফারেন্সের জন্য, আমি আপনার এমএসকিএল কনসোলে উইন্ডোজের অধীনে পূর্বোক্ত পদ্ধতিগুলির বিরুদ্ধে বনাম কাজ করতে এটি পেয়েছি:
মাইএসকিউএল >>source c://path_to_file//path_to_file//file_name.sql;
যদি আপনার রুট ড্রাইভটিকে "সি" না বলা হয় তবে আপনার ড্রাইভকে কী বলা হয় তার সাথে কেবল বদলি করুন। প্রথমে ব্যাকস্ল্যাশ চেষ্টা করুন, যদি তারা কাজ না করে তবে ফরোয়ার্ড স্ল্যাশ ব্যবহার করে দেখুন। যদি সেগুলিও কাজ না করে, আপনার নিজের ফাইলের পুরো পথ, ফাইলের নামের উপরের এসএসএল এক্সটেনশন রয়েছে তা নিশ্চিত করুন এবং যদি আপনার সংস্করণটি আধা-কলোনকে জোর দেয়, তবে তা নিশ্চিত করুন এবং আবার চেষ্টা করুন।
আমার এই ত্রুটি ছিল, এবং আমি যে সমস্ত পরামর্শ পেতে পারি তার কোনও চেষ্টা করতে পারি নি।
অবশেষে, সমস্যাটি হ'ল আমার ফোল্ডারে ফোল্ডারের নামটিতে একটি জায়গা ছিল যা ফোল্ডারের পথে একটি ফরোয়ার্ড-স্ল্যাশ হিসাবে উপস্থিত হয়, একবার আমি এটি খুঁজে পেয়েছিলাম এবং সরিয়ে ফেললে, এটি ঠিকঠাক কাজ করেছিল।