সর্বাধিক সংযোগের মানগুলি সমন্বয় করে mysql অটো


11

আমি my.cnf ফাইলে প্রায় 2000 এর সাথে সর্বাধিক সংযোগ স্থাপন করেছি।

max_connections=2048

আমি 5.5.20 এ আপগ্রেড করেছি এবং এখন আমি ত্রুটি লগতে নিম্নলিখিত লাইনটি দেখতে পাচ্ছি।

120201 19:40:24 [Warning] Changed limits: max_open_files: 1024  max_connections: 214  table_cache: 400

কেন MySQL সর্বোচ্চ সংযোগের মান 214 এ পরিবর্তন করে?

# mysqladmin variables | grep max_connections
| max_connections | 214                                               

ওএস দ্বারা সীমাবদ্ধ নরম এবং শক্ত ওপেন ফাইলগুলি 1024

# ulimit -Sa | grep "open files"
open files                      (-n) 1024

# ulimit -Ha | grep "open files"
open files                      (-n) 1024

প্রকৃতপক্ষে ব্যবহৃত সর্বোচ্চ সংযোগগুলির সংখ্যা:

# mysql -e"show status like '%used_connections%'"
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Max_used_connections | 95     |
+----------------------+-------+

1
4096 এর মতো উলিমিত ওপেন ফাইলগুলি আরও সেট করার চেষ্টা করুনulimit -n 4096

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

1
শুধু সুস্পষ্ট জিজ্ঞাসা করতে যাচ্ছি। আপনি কি নিশ্চিত করেছেন যে আপগ্রেডটি আপনার মাই সিএনএফ পরিবর্তন করে নি? এছাড়াও, কি ওএস? এটি কি কোনও প্যাকেজ ম্যানেজার দ্বারা ইনস্টল করা হয়েছিল yum? তা হলে কোন প্যাকেজ?
ডেরেক ডাউনি

উত্তর:


6

এটা আমার কাছে ঠিক আছে। এর চেয়ে বড় আপনার সংযুক্তি থাকতে পারে না, কারণ আপনি ওপেন_ফাইলস_লিমিট খুব কম। প্রতিটি সংযোগের জন্য মাইএসকিউএল বেশ কয়েকটি ফাইল খোলে। এখানে একবার দেখুন ।

সুতরাং, আপনাকে আপনার ওএসে ফাইলগুলির সীমাবদ্ধতা বাড়াতে হবে এবং তারপরে আপনি উচ্চতর সর্বোচ্চ_সংযোগের মান রাখতে পারবেন।


5

এটি একই সমস্যা বলে মনে হচ্ছে যা আমি এখানে স্ট্যাকওভারফ্লোতে জবাব দিয়েছি , যদিও আমি CentOS 7 এবং MySQL 5.6.26 ব্যবহার করছিলাম

আপনাকে আপনার উন্মুক্ত ফাইলগুলি মাইএসকিএল ব্যবহারকারী (সীমাবদ্ধতা কনফারেন্সে) এবং মাইএসকিএল পরিষেবা (mysql.service ফাইলের মধ্যে) উভয়ই সীমাবদ্ধ করতে হবে

এই দুটি লাইন /etc/security/limits.conf এ যুক্ত করুন

mysql hard nofile 65535
mysql soft nofile 65535

এই লাইনটি /usr/lib/systemd/system/mysqld.service ([পরিষেবা] বিভাগে) এ যুক্ত করুন

LimitNOFILE=65535

তারপরে অবশেষে পুনরায় বুট করুন এবং দেখুন যে এই ত্রুটি বার্তাগুলি আপনার মাইএসকিএল ত্রুটি লগ থেকে অদৃশ্য হয়ে গেছে।


: অন্যান্য সমাধান dba.stackexchange.com/questions/32987/...
এনএভি

@ নাভ - হ্যাঁ, যদি আপনার ওএস মাইএসকিএলডি দ্বারা উপযুক্ত সংখ্যক ফাইল হ্যান্ডলগুলি ব্যবহার করার অনুমতি না দেয় তবে আপনি কনফিগার হওয়া সর্বাধিক সংখ্যক সংখ্যক ব্যবহার করতে পারবেন না
এমএনবি

: এছাড়াও, উবুন্টু 15.04+ একটি ভিন্ন পদ্ধতির প্রয়োজন stackoverflow.com/questions/23977095/...
এনএভি

0

এটি নতুন মাইএসকিএল-তে কিছু ত্রুটিযুক্ত বলে মনে হচ্ছে। আমারও একই সমস্যা ছিল। 700-এ সর্বাধিক সংযোগগুলি সেট করা কাজ করেছে, তবে আমি যদি এটি 900 এ সেট করি তবে এটি প্রারম্ভকালে 214 এ পুনরায় সেট করা হয়েছিল। যদি এটি উদ্দেশ্যমূলক পরিবর্তন হয়, তবে এটি এটিকে 700 বা অন্য কিছু অনুরূপ হিসাবে নামিয়ে আনত, 214 মানটি বোঝায় না।
যাইহোক, বর্ণনাকারী সীমাটিকে উলামিট-এন দিয়ে আপিং করা সমস্যার সমাধান করে।

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