মাইএসকিউএল ত্রুটিটি কীভাবে ঠিক করবেন: খুব বেশি সংযোগ রয়েছে

মাইএসকিউএল ত্রুটির পরিচিতি: অনেক সংযোগ

যখন আপনার কাছে একটি ওয়েব অ্যাপ্লিকেশন (সাইট, ব্লগ, ফোরাম, ইত্যাদি) রয়েছে যা উচ্চ চাহিদা, অর্থাৎ যে বিপুল সংখ্যক ব্যবহারকারী ভিজিট করেন, এটি সার্ভারে ক্রমবর্ধমান খরচে অনুবাদ করে। যদি বলা হয় যে ওয়েব অ্যাপ্লিকেশনটি একটি মাইএসকিউএল ডাটাবেস ব্যবহার করে এবং অনুসন্ধানগুলি সত্যই অনেকগুলি (ওয়েবে খারাপ প্রোগ্রামিং বা ওয়েব ব্যবহারকারীর দ্বারা অনেক ব্যবহারকারী দ্বারা), মাইএসকিউএল এই ত্রুটিটি দেখানোর সম্ভাবনা রয়েছে:

mysqli_connect(): (HY000/1040): Too many connections

মাইএসকিউএল: খুব বেশি সংযোগ ত্রুটির অর্থ কী?

এর অর্থ হ'ল মাইএসকিউএলে অনেকগুলি অনুরোধ আসছে, এটি যত বেশি গ্রহণ করতে পারে, তার চেয়ে বেশি সারি বা অপেক্ষা করতে পারে।

কীভাবে সমাধান করবেন?

সরল, মাইএসকিউএল সমর্থন করে এমন আমাদের অনুরোধের (সংযোগ) সর্বাধিক সীমাবদ্ধতা বাড়াতে হবে।

এই সমস্যাটি সমাধানের জন্য আমি আপনাকে দুটি বিকল্প দেব:

1. আমরা ফাইল /etc/mysql/my.cfg সম্পাদনা করি:

nano /etc/mysql/my.cfg

এটিতে আমরা নীচে যেখানে এটি [মাইএসকিএল] বলেছি তার নীচে রেখেছি:

সর্বাধিক সংযোগগুলি = 500 সর্বাধিক ব্যবহারকারীর_সংযোগ = 500

এটি সংযোগের সর্বাধিক সংখ্যাকে 100 (যা ডিফল্ট) 500 থেকে বাড়িয়ে তুলবে।

আমরা সংরক্ষণ এবং প্রস্থান করি, তারপরে আমরা মাইএসকিউএল পরিষেবাটি পুনরায় চালু করি এবং এটিই। এই পরিবর্তন স্থায়ী।

2. এই সমস্যাটি সমাধানের আর একটি উপায় হ'ল সর্বোচ্চ সীমা সমান পরিবর্তন করা, তবে মাইএসকিউএল কোয়েরির মাধ্যমে।

আসুন প্রথমে বর্তমান সীমাটি দেখান:

mysql --user="root" --password="PASSWORD" --execute='SHOW VARIABLES LIKE "max_connections";'

এটি আমাদেরকে এরকম কিছু দেখাবে:

+ ----------------- + ------- + | পরিবর্তনশীল_নাম | মান | + ----------------- + ------- + | সর্বোচ্চ_সংযোগ | 151 | + ----------------- + ------- +

অন্য কথায়, বর্তমান সীমাটি 151 সংযোগ, আচ্ছা, একটি প্রশ্নের মাধ্যমে এটি 500 এ বাড়ানো যাক:

mysql --user="root" --password="PASSWORD" --execute='SET GLOBAL max_connections = 500;'

প্রস্তুত!

এইভাবে সমস্যাটি হ'ল যখন পরিষেবাটি পুনরায় চালু করা হয়, তখন এই কনফিগারেশনটি হারিয়ে যায়।

এই বিশদ সরবরাহের জন্য, আপনি একটি বাশ স্ক্রিপ্ট তৈরি করতে পারেন যা প্রতি X সময় যাচাই করে বা ডেমনের শুরু বা পুনর্সূচনা ব্লকটিতে লাইন যুক্ত করে 😉

তবে কেন আমি এই ২ য় বিকল্পটি জানতে চাই? ... ঠিক আছে, আমি যা বলতাম। তবে এক মাস আগে কোনও উবুন্টু সার্ভার পদ্ধতি নং 2 উপেক্ষা করেছে, তাই ... নিখুঁত ওএসের চরম ক্ষেত্রে, আমাদের কাছে এই দ্বিতীয় বিকল্পটি রয়েছে যা ঠিক একইভাবে কাজ করে 😉


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।

  1.   এর পরের তিনি বলেন

    গুড পোস্ট, মাইএসকিএল… তারা ফ্রিবিএসডি-তে প্রচুর ব্যবহার করে,…। কেজেডিজি ^ গারা?,… ফ্রিবিএসডি-তে মাইএসকিউএল কীভাবে ইনস্টল ও কনফিগার করতে হয় সে বিষয়ে ভালো হবে: এসএসএইচ (সুরক্ষিত - শেল), এসএসএইচ (ওয়েবের মাধ্যমে), এসএফটিপি (এসএসএইচ-ফাইল স্থানান্তর প্রোটোকল), অ্যাপাচি - পিএইচপি- মাইএসকিউএল, পিএইচপি 5 এবং পিএইচপিএসআইএসএনফোর এক্সটেনশনস।

    1.    কেজেডিজি ^ গারা তিনি বলেন

      এর জন্য আমাকে ফ্রিবিএসডি ইনস্টল করতে হবে, আমার এখনই সময় নেই বলে আমি মনে করি না, আমি সবেমাত্র চাকরি পরিবর্তন করেছি এবং আমার অনেক নতুন দায়িত্ব আছে 🙁

  2.   সাউল তিনি বলেন

    নোডেজ সহ একটি প্রকল্পের জন্য আমাকে সম্প্রতি কিছু করতে হয়েছিল। আমার ক্ষেত্রে এটি বেড়েছে 250 এবং এটি যথেষ্ট ছিল, আপাতত আমি ঠিক করছি। তথ্যের জন্য ধন্যবাদ

  3.   ফ্রান্সিসকো তিনি বলেন

    হ্যালো, আপনি কীভাবে আমাকে /etc/mysql/my.cfg প্রবেশ করতে সাহায্য করতে পারেন?

    আমার একটি ভিপিএস আছে তবে আমি পুটির সাথে যেতে পারছি না।

    গ্রিটিংস।

  4.   টোপ তিনি বলেন

    বিকল্প 1 এর সমস্যা সমাধানের জন্য - মন্তব্য করা বিকল্প, এবং সার্ভারটি পুনরায় চালু করার সময় পরিবর্তনগুলি রাখুন, ফাইলটি সংস্করণ অনুযায়ী সম্পাদনা করতে হবে:

    /////////……………………………………………………………………………………………………………………………………… //////////////////////
    // আমি উবুন্টু 16.04 ////////////////////////// ডিরেক্টরিতে পরিবর্তন করেছি
    /////////……………………………………………………………………………………………………………………………………… //////////////////////
    আমি দেখেছি /etc/mysql/mysql.conf.d/mysqld.cnf

    /////////……………………………………………………………………………………………………………………………………… //////////////////////
    // আমি উবুন্টু 15.04 ////////////////////////// ডিরেক্টরিতে পরিবর্তন করেছি
    /////////……………………………………………………………………………………………………………………………………… //////////////////////
    vi /etc/mysql/mariadb.conf.d/mysqld.cnf

    /////////……………………………………………………………………………………………………………………………………… //////////////////////
    // আমি উবুন্টু ডিরেক্টরিটি পরিবর্তন করি পুরানো //////////////////////////
    /////////……………………………………………………………………………………………………………………………………… //////////////////////

    আমি /etc/mysql/my.cnf দেখেছি

    /////////……………………………………………………………………………………………………………………………………… //////////////////////
    // [mysqld] বা [mysql] ট্যাগের অধীনে এই লাইনটি যুক্ত করুন //
    // তারপরে সার্ভারটি পুনরায় চালু করুন //
    /////////……………………………………………………………………………………………………………………………………… //////////////////////
    সর্বোচ্চ_সংযোগ = 500

  5.   রাগান্বিত তিনি বলেন

    কোনও সময়ে স্ক্র্যাচ থেকে টিউটোরিয়াল আপনাকে কীভাবে এটি পরিবর্তন করতে হয় তা আপনাকে বলে