মাইএসকিউএল 5.7 বাইন্ড-ঠিকানা কাজ করে না


17

আমি সর্বদা সাফল্যের সাথে মাইএসকিউএল 5.5 এর জন্য একটি রিমোট সংযোগ স্থাপন করেছি।

আজ আমি উবুন্টু 16.04 এবং মাইএসকিউএল 5.7 সহ একটি নতুন সার্ভার ইনস্টল করেছি। তবে কিছু কারণে, আমি এই মাইএসকিউএল ইনস্টলেশনটি অন্যান্য হোস্টগুলিকে শুনতে পাচ্ছি না তবে 127.0.0.1

এখানে আমার /etc/mysql/conf.d/mysql.cnf:

[mysqld]
bind-address = 0.0.0.0

আমি কোনও রিমোট হোস্ট থেকে এই মাইএসকিউএল সার্ভারের সাথে সংযোগ করতে পারিনি এবং আমি যখন আমার পরীক্ষা করেছিলাম তখন netstatবুঝতে পেরেছি যে মাইএসকিউএল localhostকেবলমাত্র সংযোগগুলি শুনবে ।

lsof -Pni :3306 আউটপুট হল:

COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld  5302 mysql   25u  IPv4  37280      0t0  TCP 127.0.0.1:3306 (LISTEN)

সমস্যাটা কি?


আপনি কি মাইএসকিএল বাউন্স করেছেন? নেটস্যাট-এলএনটিপি-র আউটপুট কী?
লিনাক্সএক্স

@ লিনাক্স আমি এমনকি পুরো মেশিনটি পুনরায় চালু করেছি। tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 13050/mysqld
গত

আমি ধরে নিই যে আপনি সেই ফাইলটিতে লাইনটি যুক্ত করেছেন। সেই লাইনটি সরান এবং ফাইলটি /etc/mysql/mysql.conf.d/mysqld.cnf সম্পাদনা করুন এবং সেখানে প্যারামিটারটি পরিবর্তন করুন।
লিনাক্সএক্স

1
@ লিনাক্সএক্স ম্যাজিকের মতো কাজ করেছে :) আমি খেয়াল করি নি যে আরও একটি * .conf.d ডিরেক্টরি আছে। সুতরাং মূলত 5.7, কনফাইড ডিরেক্টরিতে [মাইএসকিএল] কনফিগারেশন রাখে, যখন [মাইএসকিএলডি] কনফিগারেশনগুলি মাইএসকিএল.কন.ফ.ডে রাখা হয়। ধন্যবাদ! দয়া করে একটি উত্তর দিন, তাই আমি এটি গ্রহণ করব।
তুমি

1
আমি উভয় /etc/mysql/mysql.conf.d/mysqld.cnf এবং /etc/mysql/conf.d/mysql.cnf- এ বাইন্ড-ঠিকানা পরিবর্তন করেছি, এখনও সার্ভারটি পুনরায় চালু করেছি তবুও আমি দেখতে পাই "tcp 0 0 127.0"। 0.1: 3306 "যখন আমি <নেটট্যাটটুল্পেন
চেকচ

উত্তর:


39

তারা মাইএসকিউএল প্যাকেজটি পরিবর্তন করেছে যাতে বাইন্ড প্যারামিটারটি এখন /etc/mysql/mysql.conf.d/mysqld.cnf এ থাকে। দয়া করে সেখানে বাইন্ডের প্যারামিটারটি পরিবর্তন করুন এবং আপনি /etc/mysql/conf.d/mysql.cnf এ স্থাপন করা সমস্ত কিছু সরিয়ে ফেলুন।


যদিও এটি হাস্যকর। "Conf.d" এর উদ্দেশ্য হ'ল প্যাকেজ-সরবরাহিত ডিফল্টগুলি সম্পাদনা করা এবং আপনার নিজের কনফিগারেশনে ওভাররাইড করা। তবে এখন যেমন "mysql.conf.d" আমাদের ওভাররাইড করছে, আমরা "mysql.conf.d / mysqld.cnf" সম্পাদনা না করে আমাদের শেষ পর্যন্ত আসার নিশ্চিত করার কোনও নির্ভরযোগ্য উপায় নেই।
kenn

@ কেন: আপনার কনফিগারেশনটি mysql.conf.d / এর পরিবর্তে যুক্ত করুন এবং এর নাম দিন "এক্স-কিছু"
বেল

3
অবশ্যই, তবে "কনফিডেন্ট" এর মূল বক্তব্য কী? "Mysql.conf.d" একটি প্যাকেজ-সরবরাহকৃত ডিফল্ট নয়, যা "কনফিড.ডি" দ্বারা ওভাররাইট করা হবে বলে মনে করা হয়? আমি মনে করি মাইএসকিউএল প্যাকেজ স্তরের "/etc/mysql/my.cnf" এ "conf.d" এবং "mysql.conf.d" এর লোড অর্ডারটি বিপরীত করা উচিত।
কেনে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.