মাইএসকিউএল কনসোল: Ctrl + C আমাকে বাদাম চালাচ্ছে


24

মাইএসকিউএল কনসোলে এমন কিছু আছে যা আমাকে বাদাম চালায়। বর্তমান কমান্ডটি টাইপ করা বাতিল করতে আমি যখন ctrl+ টি cচাপি তখন টার্মিনালটি প্রস্থান করে।

প্রত্যেক টার্মিনাল আমি জানি সালে ( *nixটার্মিনাল, Python, PostgreSQL), ctrl+ + cবর্তমান কমান্ড বাতিল এবং ctrl+ + dটার্মিনাল প্রস্থান করে।

এই সমস্যাটি 2003 এ প্রতিবেদন করা হয়েছে , এবং এর পর থেকে বেশ কয়েকবার ধাক্কা খেয়েছে।

উপায় আছে কি:

  • এই আচরণ পরিবর্তন করুন, বা
  • মাইএসকিউএল ডেভেল টিমকে বোঝান যে এটি সত্যই বিরক্তিকর?

উত্তর:


6

আচরণটি পরিবর্তন করতে, মাইএসকিএল সি এল এলির জন্য উত্সটি ডাউনলোড করুন এবং SIGINTহ্যান্ডলারটি আপনাকে ফিট হিসাবে দেখা হিসাবে আচরণ করতে সংশোধন করুন, তারপরে পুনরায় সংকলন এবং ইনস্টল করুন।


1
এটি কি বিপজ্জনক নয়? এটি ভবিষ্যতের সংস্করণগুলির জন্য কার্যকর হবে এমন কোনও গ্যারান্টি নেই। এছাড়াও , দেখে মনে হচ্ছে এটি কাজ করবে তবে আপনি কীভাবে জানবেন যে পরে কোনও সম্পূর্ণ সম্পর্কযুক্ত জায়গায় আপনি কিছু অদ্ভুত আচরণ পাবেন না?
পেসিয়ার 14

21

কমপক্ষে ক্লায়েন্টের 5.6.14 সংস্করণটিতে সিগিন্ট হ্যান্ডলারটিকে সম্পূর্ণ উপেক্ষা করার জন্য - সিগিন্ট -উপেক্ষা করার বিকল্প রয়েছে। এটি 7 ই অক্টোবর, 2004 এ যুক্ত হয়েছে বলে মনে হয় - সুতরাং এটি কমপক্ষে কিছুটা সময় হয়ে গেছে। আমি কেবল এটি পরীক্ষা করেছি এবং এটি সিটিআরএল-সি মাইএসকিউএল ক্লায়েন্টকে বাতিল করা থেকে বিরত রাখে। যাইহোক, পোস্টটিগ্রাসএসকিউএল সি এলআই যেমন সিটিআরএল-সি বর্তমান কমান্ড লাইন বাফারটিকে যেমন BASH শেলের মতো করে বাতিল করে দেয় তবে এটি দুর্দান্ত হবে। এ জাতীয় কিছু বাস্তবায়ন করা কতটা কঠিন হবে তা দেখার জন্য আমি মাইএসকিউএলকে কাঁটাচামচ করেছি। আমি প্রস্তুত / যখন একটি টারবাল লিঙ্ক সহ একটি হোমব্রিউ সূত্র পোস্ট করব post

আপডেট 1 এই দিনগুলির মধ্যে একটি কখনও আছে? আমি প্রতিশ্রুতিবদ্ধ প্যাচ তৈরি করেছি এবং তারপরে আমি এটি প্রদর্শনের জন্য একটি ভিডিও তৈরি করার সিদ্ধান্ত নিয়েছি। এটা কাজ করেছে! তবে, আমি এটি অক্ষম করতে পারি না! ঠিক আছে, দেখা যাচ্ছে যে মাইএসকিউএল প্রকৃতপক্ষে গত বছর মূল ক্লায়েন্টের কাছে কার্যক্ষমতায় বেকড হয়েছে ! হ্যাঁ, এই কিউ এর A কমপক্ষে MySQL 5.7.3-794-g901d27f এর ক্লায়েন্টটি ডাউনলোড করতে হবে। এটির কার্যকারিতা যা আমরা সকলেই চেয়েছি।

উদাহরণ কমান্ড লাইন থেকে কেবল - সিগিন্ট-উপেক্ষা পতাকা যুক্ত করুন:

mysql --host=127.0.0.1 --port=8900 --user=root -p --sigint-ignore DBNAME

বা, আমি যেমন করেছিলাম তেমন করুন এবং নিম্নলিখিত বিষয়বস্তু দিয়ে আপনার উইন্ডোজ অ্যাকাউন্টে $HOME/.my.cnf( %USERPROFILE%/.my.cnfউইন্ডোজ) মাইএসকিউএল কনফিগারেশন ফাইল তৈরি করুন:

[mysql]
sigint-ignore=TRUE

এটি নিশ্চিত করবে যে সমস্ত mysqlমৃত্যুদণ্ড দেওয়া বিরক্তিকর Ctrl-C উপেক্ষা করে এবং একটি ভাল এসকিউএল ক্লায়েন্টের মতো আচরণ করে।


19

যদিও ctrl+ + cআচরণ বিরক্তিকর, আপনি কি এখনও ব্যবহার করতে পারেন \cবর্তমান ক্যোয়ারী বাতিল করতে। আপনাকে কেবল নিজেকে প্রশিক্ষণ দিতে হবে যে মাইএসকিএল সি এল এল ব্যবহার \cকরার সময় আপনি ctrl+ এর পরিবর্তে ব্যবহার করেন c!


1
এই ধারণাটি নিয়ে আসা লোকটি কে? আমরা তার মাথা চাই।
পেসারিয়ার 14

1
আপনি লাইনটি শুরু করতে মুছতে Ctrl + U এবং একটি শব্দ পিছনে মুছতে Ctrl + W ব্যবহার করতে পারেন।
ড্যামিয়েন Ó সিয়ালাইঘ

9

সুসংবাদ: মাইএসকিউএল এর function সি কার্যকারিতা শেষ পর্যন্ত # 66583 দ্বারা স্থির করা হয়েছে ।

5.7.0 চেঞ্জলগ থেকে :

পূর্বে, মাইএসকিএলে থাকা কন্ট্রোল + সি বর্তমান বিবৃতিটিতে বাধা থাকলে বা মাইএসকিএল না থাকলে প্রস্থান করে। এখন নিয়ন্ত্রণ + সি বর্তমান বিবৃতিটিতে বাধা দেয় যদি সেখানে উপস্থিত থাকে বা অন্য কোনও আংশিক ইনপুট লাইন বাতিল করে তবে প্রস্থান করে না।


আমি 5.6.35 ব্যবহার করছি এবং যাচাই করা এটি কোনও সমস্যা নয়।
ফ্লো 2 কে

1

আপনি ক্লায়েন্টের কোন সংস্করণ ব্যবহার করছেন? আমি মনে করি এটি পুরানো আচরণ তবে 5.1 এবং 5.5 এর সাম্প্রতিক সংস্করণগুলি ক্লায়েন্টের বাইরে না এসে কেবল চলমান কমান্ডটি বাতিল বলে মনে হচ্ছে। তারপরে আবার এটিও হতে পারে যে আমি পারকোনা বিল্ডগুলি ব্যবহার করছি। যদি কেসটি হয় তবে আপনি কেবল তাদের ক্লায়েন্টকে চালানোর চেষ্টা করতে পারেন।


হুম, আমি 5.5 পারকোনা চালিয়ে যাচ্ছি এবং সিটিটিএল + সি এখনও মাইএসকিএল ক্লায়েন্টকে (বর্তমান এসকিএল কমান্ড নয়) অবতরণ করে
ডেরেক ডউনি

আমি মনে করি আমি ওপি ভুলভাবে পড়েছি। আমার প্রতিক্রিয়া এমন একটি আদেশকে সম্বোধন করছিল যা মৃত্যুদন্ড কার্যকর করার মাঝামাঝি ছিল, আপনাকে রান কমান্ড চালানোর জন্য এখনও ফাঁকা করার ইচ্ছা নয়।
atxdba

আমি @atxdba- এর সাথে একমত - আমি 5.5 এর পারকোনা বিল্ডও চালাচ্ছি, এবং বর্তমানে এক্সিকিউটিভ কমান্ডের বাইরে ctrl + c ড্রপ আছি। যদি কোনও কমান্ড কার্যকর করা না থাকে তবে এটি সিএলআই থেকে বাদ পড়ে। এটি হতে পারে যে চলছে যে শেলটি থেকে সিটিআরএল + ডি কমে যাচ্ছে, তবে শেলের মধ্যে যদি আপনার স্ক্রিপ্ট চলমান থাকে তবে আপনি সিটিআরএল + সি মারলে এটি বন্ধ হয়ে যাবে ... বিভিন্ন অ্যাপস / শেল / স্ক্রিপ্টগুলির জন্য বিভিন্ন কমান্ড! বিভ্রান্তিকর হতে পারে ...: - গুলি
ডেভ রিক্স

@ ডেভ রিক্স আমিও সম্মত, সিটিআরএল + সি বর্তমানে চালানো একটি কোয়েরি ছাড়ছে। দুর্ভাগ্যক্রমে ওপি সম্পর্কে এটি ছিল না।
ডেরেক ডাউনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.