ফিক্স: ERROR 2003 (HY000): 127.0.0.1 এ মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারেন না (111)


এই টিউটোরিয়ালটি "ERROR 2003 (HY000) সমাধানের জন্য প্রয়োজনীয় পদক্ষেপগুলি বোঝানোর উদ্দেশ্যে করা হয়েছে:‘ 127.0.0.1 ’(111)” তে মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না যা আপনি মাইএসকিউএল ডাটাবেস সার্ভার অ্যাক্সেস করার চেষ্টা করার সময় ঘটতে পারে।

আরও কিছু সরানোর আগে আপনি যদি লিনাক্স ব্যবহারকারী হন যে মাইএসকিউএল/মারিয়াডিবিতে নতুন হন, তবে আপনি লিনাক্সে ডেটাবেস প্রশাসনের জন্য 20 মাইএসকিউএল (মাইস্ক্লাদমিন) কমান্ড শেখার বিষয়টি বিবেচনা করতে পারেন।

অন্যদিকে, আপনি যদি ইতিমধ্যে মধ্যবর্তী/অভিজ্ঞ মাইএসকিউএল ব্যবহারকারী হন তবে আপনি এই 15 টি দরকারী মাইএসকিউএল/মারিয়াডিবি পারফরম্যান্স টিউনিং এবং অপ্টিমাইজেশন টিপসকে দক্ষ করতে পারেন।

দ্রষ্টব্য: এই টিউটোরিয়ালটির জন্য, ধরে নেওয়া হচ্ছে যে আপনি ইতিমধ্যে mysql ডাটাবেস সার্ভার ইনস্টল করেছেন।

ফোকাসের বিন্দুতে ফিরে আসছি, এই ত্রুটির সম্ভাব্য কয়েকটি কারণ কি?

  1. নেটওয়ার্ক ব্যর্থতা বিশেষত যদি মাইএসকিএল ডাটাবেস সার্ভার দূরবর্তী হোস্টে চলমান থাকে
  2. উল্লিখিত হোস্টটিতে কোনও মাইএসকিএল সার্ভার চলছে না
  3. ফায়ারওয়াল টিসিপি-আইপি সংযোগ বা অন্যান্য সম্পর্কিত কারণে অবরুদ্ধ করে।

নীচে এটি মোকাবেলা করার জন্য প্রয়োজনীয় পদক্ষেপ রয়েছে।

১. যদি ডাটাবেস সার্ভারটি একটি দূরবর্তী মেশিনে থাকে, তবে পিং কমান্ডটি ব্যবহার করে ক্লায়েন্ট-সার্ভার সংযোগটি পরীক্ষা করার চেষ্টা করুন:

$ ping server_ip_address

সংযোগ স্থাপন করার পরে, নীচের PS কমান্ডটি ব্যবহার করুন যা সক্রিয় প্রক্রিয়াগুলির একটি নির্বাচন সম্পর্কে তথ্য দেখায়, একসাথে পাইপ এবং গ্রেপ কমান্ড সহ, mysql ডিমনটি পরীক্ষা করে দেখুন আপনার সিস্টেমে চলছে।

$ ps -Af | grep mysqld

যেখানে বিকল্প:

  1. -A - সমস্ত প্রক্রিয়া নির্বাচন সক্রিয় করে
  2. -f - সম্পূর্ণ ফর্ম্যাট তালিকা সক্ষম করে

পূর্ববর্তী কমান্ড থেকে যদি কোনও আউটপুট না পাওয়া যায় তবে নিম্নলিখিত হিসাবে মাইএসকিএল পরিষেবা শুরু করুন:

$ sudo systemctl start mysql.service
$ sudo systemctl start mariadb.service
OR
# sudo /etc/init.d/mysqld start

মাইএসকিএল পরিষেবা শুরু করার পরে, ডাটাবেস সার্ভারটি অ্যাক্সেস করার চেষ্টা করুন:

$ mysql -u username -p -h host_address  

২. যদি আপনি এখনও একই ত্রুটিটি পান তবে পোর্টটি নির্ধারণ করুন (ডিফল্টটি 3306) যার উপর মাইএসকিএল ডিমন নেটস্যাট কমান্ড চালিয়ে শুনছেন।

$ netstat -lnp | grep mysql

যেখানে বিকল্পগুলি:

  1. -l - শ্রবণ পোর্টগুলি প্রদর্শন করে
  2. -n - সংখ্যাযুক্ত ঠিকানাগুলির প্রদর্শন সক্ষম করে
  3. -p - পিআইডি এবং সকেটের মালিকানাধীন প্রোগ্রামটির নাম দেখায়

সুতরাং ডাটাবেস সার্ভার অ্যাক্সেস করার সময় উপরের আউটপুট থেকে আপনি যে পোর্টটি দেখছেন তা নির্দিষ্ট করতে -P বিকল্পটি ব্যবহার করুন:

$ mysql -u username -p -h host_address -P port

৩. উপরের সমস্ত কমান্ড যদি সফলভাবে চলতে থাকে তবে তবুও ত্রুটিটি দেখতে পান, মাইএসকিএল কনফিগারেশন ফাইলটি খুলুন।

$ vi /etc/mysql/my.cnf
OR
$ vi /etc/mysql/mysql.conf.d/mysqld.cnf 

নীচের লাইনটি দেখুন এবং # অক্ষর ব্যবহার করে মন্তব্য করুন:

bind-address = 127.0.0.1 

ফাইলটি সংরক্ষণ করুন এবং প্রস্থান করুন, এরপরে মাইএসকিএল পরিষেবাটি আবার শুরু করুন:

$ sudo systemctl start mysql.service
$ sudo systemctl start mariadb.service
OR
# sudo /etc/init.d/mysqld start

তবে, যদি আপনার কাছে ইপিটেবলগুলি চলমান থাকে তবে ফায়ারওয়াল পরিষেবাগুলি পর্যালোচনা করার চেষ্টা করুন এবং মাইএসকিএল পোর্টটি খুলুন, ধরে নিবেন এটি আপনার ফায়ারওয়ালটি আপনার মাইএসকিএল সার্ভারের সাথে টিসিপি-আইপি সংযোগগুলি অবরুদ্ধ করে।

এখানেই শেষ! আপনি কি অন্য পদ্ধতিগুলি জানেন বা উপরে মাইএসকিউএল সংযোগ ত্রুটি সমাধানের জন্য পরামর্শ পেয়েছেন? নীচের প্রতিক্রিয়া ফর্মের মাধ্যমে একটি মন্তব্য ফেলে আমাদের জানতে দিন।