মাইএসকিএল কমান্ড লাইন প্রোগ্রামে নিয়ন্ত্রণ-সি ঠিক করুন?


10

ইন mysqlকমান্ড লাইন, টিপে Control-Cপ্রোগ্রাম বাতিল করবে, এবং আপনি ব্যাশ ফিরে আনা। ইন psql, postgres জন্য, এটি সাম্প্রতিক ক্যোয়ারী হত্যা করবে এবং psql প্রোগ্রাম বন্ধ হবে না। মাইএসকিএল Control-Cপ্রোগ্রামে পিএসকিএল স্টাইলের আচরণের কোনও উপায় আছে কি ? আমি নিজেকে Control-Cঅভ্যাসের দ্বারা চেপে যাওয়া এবং মাইএসকিএল-এ আবার লগইন করতে থাকি ।

Control Cবাশ মারবে না এবং আপনি চাপ দিলে আপনাকে লগ আউট করে। যা আমি মনে করি একটি ভাল জিনিস। Control-Cমানে 'আপনি যা করছেন তা বন্ধ করুন'।

উত্তর:


7

আপনি যদি ক্যোয়ারী এক্সিকিউশন চলাকালীন 5.1-তে Ctrl-C টিপেন তবে এটি "ক্যায়ারি এক্সিকিউশনটি বাধাপ্রাপ্ত হয়েছিল" বার্তাটি দিয়ে কার্যকর করা বন্ধ করবে

    mysql> অন্তর্ভুক্ত সি সিলেক্ট র্যান্ড () * 1000, sha1 (র্যান্ড ()) থেকে সি;
    Ctrl + C দ্বারা অনুসন্ধান বাতিল করা হয়েছে
    ত্রুটি 1317 (70100): কোয়েরি কার্যকর করতে বাধা দেওয়া হয়েছিল

আরও একটি Ctrl-Cপ্রেস ক্লায়েন্টকে হত্যা করে।

পুরানো সংস্করণগুলি প্রশ্নে উল্লিখিত হিসাবে মারাত্মকভাবে মারা যায়, তাই সম্ভব হলে আপগ্রেড করুন :)

সম্পাদনা:

দেখে মনে হচ্ছে এটি 5.0.25 (এবং 5.1.10) এ যুক্ত হয়েছিল।


2
এটি এখনও বেশ বোকা আচরণ আছে। আপনি যখন কোনও ক্যোয়ারির সময় CTRL + C টিপেন, এটি কোয়েরিটি বাতিল করা উচিত। আপনি যখন প্রম্পটে সিটিআরএল + সি টিপেন তখন এটি কিছু করা উচিত নয় এবং মাইএসকিউএল থেকে বেরিয়ে আসা উচিত নয়। আপনি যখন বাশ প্রম্পটে সিটিআরএল + সি যখন কিছুই ঘটে না তখন এটি একটি নতুন লাইন প্রিন্ট করে তবে মূলত কিছুই করে না।
নীল

প্রকৃতপক্ষে আমি যা করেছি তা হ'ল পিএসএইচএল যা করত: যদি আপনি কোনও ক্যোয়ারী প্রবেশের অর্ধেক পথ অবলম্বন করে থাকেন, সম্ভবত ইতিমধ্যে বেশ কয়েকটি লাইন প্রবেশ করেছেন, এবং আপনি বুঝতে পেরেছেন যে আপনি ভুল করেছেন এবং এতে প্রবেশ বন্ধ করতে চান, তারপরে CTRL + টিপুন সি প্রম্পটে ফিরে যেতে হবে।
ক্ষতিকারক

আমি এটি পরিষ্কার করে দেব: সিটিটিএল-সি এখনও আপনাকে মাইএসকিএল সিএলআই থেকে বাদ দেয় এমনকি 5.5 সংস্করণেও। অ্যান্ডির উত্তরটি কিছুটা অস্পষ্ট (কমপক্ষে আমার কাছে) তবে এটি যদি আপনার মনে করে যে নতুন সংস্করণগুলি এই আচরণটিকে স্থির করে ফেলেছে তবে আপনি বিভ্রান্ত হয়ে পড়েছেন।
এনডেমো

@ আপনি কোন প্ল্যাটফর্মে আছেন? আমার উত্তরটি RHEL5 এ পরীক্ষা করা হয়েছিল।
অ্যান্ডি

@ অ্যান্ডি উবুন্টু ১২.০৪-এ পরীক্ষা করা হয়েছে। আপনি লিখছেন "দেখে মনে হচ্ছে এটি 5.0.25 এ যুক্ত হয়েছিল"। আপনি কী যুক্ত করেছেন বলে মনে করেন? এটি আপনার উত্তর যা পারছেন না যা বুঝতে পারছেন না। নীচে আমার উত্তর দেখুন।
এনডেমো

13

অ্যান্ডি যেমন বলেছেন, এটি পরবর্তী সংস্করণগুলিতে স্থির হয়েছে।

পুরানো সংস্করণগুলিতে সমতুল্য কীবোর্ড শর্টকাট নেই।

তবে আপনি এটি নীচের সিএলআই পতাকা দিয়ে হওয়া থেকে বিরত রাখতে পারেন:

--sigint-ignore

Ignore SIGINT signals (typically the result of typing Control-C).

ধরাটি হ'ল - সিগিন্ট-উপেক্ষা দীর্ঘস্থায়ী জিজ্ঞাসা বন্ধ করার ক্ষমতাও সরিয়ে দেয়। উহু! এবং প্রশ্নের সাথে প্রাসঙ্গিক কোনও কিছুই পরবর্তী সংস্করণে (<= 5.5) এএএএফসিটি স্থির করা হয়নি। আমার উত্তর নম্র দেখুন।
এনডেমো

5

আপনি যদি Ctrl-c ব্যবহার না করে নিজের লাইনের শেষে একটি a সি যোগ করেন তবে আপনি mysql থেকে বেরিয়ে না গিয়ে লাইনটি মেরে ফেলতে পারেন।


3

সংক্ষিপ্ত উত্তর: ২০১৪ সালের গোড়ার দিকে মাইএসকিএলে বর্ণিত আচরণের কোনও উপায় নেই। প্রাসঙ্গিক বাগ রিপোর্ট এবং ডিবিএস্ট্যাকেক্সচেঞ্জের একটি পৃষ্ঠা দেখুন যেখানে 3 জন ভিন্ন ব্যক্তি মন্তব্য করে যে এটি এখনও v5.5-এ স্থির করা হয়নি । এছাড়াও যতদূর আমি বলতে পারি দীর্ঘ সময় ধরে গুগল করার পরেও ব্যবহার করার মতো কোনও কার্যকারিতা নেই (কেন - সিমেন্ট-উপেক্ষা করা ভাল নয়) নমুনা দেখুন। অ্যান্ডির উত্তরটি উল্লেখ করার জন্য সম্পাদনা করা হয়েছিল যে "5.0.25 (এবং 5.1.10) তে দেখে মনে হচ্ছে এটির মতো দেখাচ্ছে"। তবে সম্ভবত সম্ভবত উল্লিখিত বাগ রিপোর্টটিতে [3 মে 2006 19:04] মন্তব্য করে তাকে বিভ্রান্ত করা হয়েছিল।

- সিগিন্ট-উপেক্ষা আর্গুমেন্ট (ড্যান কার্লির উত্তর দেখুন) আপনি যখন সিটিআরএল-সি মারবেন তখন মাইএসকিএল আপনাকে শেলের কাছে ফেলা থেকে বিরত রাখবে তবে দীর্ঘতর চলমান জিজ্ঞাসা বন্ধ করার ক্ষমতাও সরিয়ে ফেলবে

এটি এমন একধরণের ব্যবহারযোগ্যতা বাগ যা আপনাকে যেতে দেয় :-( সত্যিই সুস্পষ্ট এবং সম্ভবত এটি ঠিক করা খুব সহজ তবে এখনও এটি বেশ কয়েক বছর পরে রয়েছে।

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