মাইএসকিউএল দূরবর্তী সংযোগ গ্রহণ করতে অস্বীকার করে


13

আমি সবেমাত্র মাইএসকিএল (পারকোনা 5.5) সহ একটি নতুন উবুন্টু সার্ভার ইনস্টল করেছি, তবে এটি দূরবর্তী হোস্টগুলির সংযোগ গ্রহণ করতে অস্বীকার করেছে

আমি যদি এই সার্ভারে দূর থেকে সংযোগ দেওয়ার চেষ্টা করি তবে যা ঘটে তা এখানে:

mysql -h10.0.0.2 -uroot -pmypassowrd
ERROR 2003 (HY000): Can't connect to MySQL server on '10.0.0.2' (111)

telnet 10.0.0.2 3306
Trying 10.0.0.2...
telnet: Unable to connect to remote host: Connection refused

যখন আমি পরীক্ষা করেছিলাম যে মাইএসকিএল দূরবর্তী সংযোগগুলি শুনে I

sudo netstat -ntlup | grep mysql
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      127018/mysqld 

আপনি দেখতে পাচ্ছেন এটির 127.0.0.1:3306অর্থ যা "আমি কেবল স্থানীয় সংযোগ গ্রহণ করি" means

আমি আমার skip_networkingএবং bind-addressভেরিয়েবলগুলি পরীক্ষা করেছিলাম - সবকিছু বন্ধ আছে:

mysql> show variables like '%skip_networking%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| skip_networking | OFF   |
+-----------------+-------+
1 row in set (0.00 sec)

mysql> show variables like '%bind%';
Empty set (0.00 sec)

একেবারে একই কনফিগারেশনের সাথে আমার অন্য একটি সার্ভার রয়েছে এবং এটি দুর্দান্ত কাজ করে:

sudo netstat -ntlup | grep mysql
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2431/mysqld 

এর কারণ কী হতে পারে? আমি কীভাবে দূরবর্তী সংযোগগুলিতে মাইএসকিএল প্রতিক্রিয়া জানাতে পারি?


নোট করুন যে চলকটি bind_addressকেবল সংস্করণ 5.6 ( bugs.mysql.com/bug.php?id=44355 ) থেকে পাওয়া যায় , তাই এটি সেট করা সত্ত্বেও এটি খালি সেটটি v5.5 এ ফিরে আসবে।
দুর্বল

আমাদের আপনার my.cnf সেটিংস প্রদর্শন করুন।
ব্যবহারকারী 9517

আপনি কি মাইএসকিউএল এর বাইরে যেমন ফায়ারওয়াল বা রাউটিংয়ের সমস্যাগুলি পরীক্ষা করেছেন?
স্টিজে

উত্তর:



0

এটি mysql ডাটাবেস ব্যবহারকারী সারণীর কারণে হতে পারে (mysql ব্যবহার করুন; টেবিলগুলি প্রদর্শন করুন;)। যদি ০.০.০.০-এ বাঁধাই আপনার পক্ষে কাজ না করে, তবে এই টেবিলের মধ্যে 'লোকালহোস্ট'-এর পরিবর্তে আপনার ব্যবহারকারীকে'% 'হোস্ট দেওয়ার চেষ্টা করুন।

উদাহরণস্বরূপ, একটি ব্যবহারকারী তৈরি করার চেষ্টা করুন:

'আপনার পাসওয়ার্ড' দ্বারা ব্যবহারকারীর আপনার ব্যবহারকারীর নাম @ '%' চিহ্নিত করুন

পিপীলিকা ব্যবহারকারীর সাথে সংযোগ স্থাপন করার চেষ্টা করুন।


3
সংযোগ অস্বীকার করার অর্থ সাধারণত প্রাসঙ্গিক আইপি: পোর্টে কিছুই শুনছে না।
ব্যবহারকারী 9517

সত্য, আমি 'মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারি না' বলে ঝলকানি ছড়িয়েছি, আমি টেলনেটের কথা মনে করি না। দুঃখিত।
periket2000

"মাইএসকিউএলে সংযুক্ত হতে পারে না" কোনও ব্যবহারকারীর কাছে অনুপলব্ধ থাকার সুযোগ থেকে উদ্ভূত হয় না। এটি একটি {আইপি: পোর্ট} জুটি যা কোনও সংযোগের চেষ্টাতে মেলে না।
ফ্যাবিয়েন হাদ্দাদি

0

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

আশ্চর্যজনক যেহেতু আমাকে নিম্নলিখিত সিনট্যাক্সটি ব্যবহার করতে হয়েছিল:

mysql -h someHost --port=3306 -u someUser -p someDb

আমি এটি (বাগ?) পুরোপুরি দুর্ঘটনাক্রমে পেয়েছি (আমার চুল খোলার পরে :))।

আমার সেটআপ: ডেবিয়ান জেসি, তাজা মাইএসকিএল 5.7.18, ব্যবহারকারী / ডিবি তৈরি হয়েছে, বাইন্ড-ঠিকানা মন্তব্য করেছে-আউট হয়েছে, মাইএসকিএলডি পুনরায় চালু হয়েছে


একটি যুক্তিসঙ্গত ব্যাখ্যা হ'ল - হোর্ট মাইএসকিউএল সার্ভারটি 3306 এ প্রকৃতপক্ষে শুনছে, যেমন --পোর্ট নির্দেশিকা দ্বারা প্রদর্শিত হয়। তবে আপনার মাইএসকিএল ক্লায়েন্টের বাইনারিটি মারিয়াডিবি সংস্করণ থেকে এসেছে ... সুতরাং ডিফল্ট হিসাবে 3307 পোর্টটি ব্যবহার করে, অন্যথায় নির্দিষ্ট না করা পর্যন্ত। আপনি যে মাইএসকিএল ক্লায়েন্ট বাইনারি ব্যবহার করছেন তার উত্সটি পরীক্ষা করুন। ইঙ্গিত: আপনার PATH পরিবেশের পরিবর্তনশীলটিও পরীক্ষা করে দেখুন ...
ফ্যাবিয়েন হাদাদাদি

0

আমার কেবল এই সমস্যাটি ছিল এবং আমার সমস্যাটি ফায়ারওয়াল সম্পর্কিত বলে মনে হচ্ছে। বিটিডাব্লু - মাইএসকিএল সমস্যা সমাধানের আদেশের জন্য @ টেমনোভিটকে ধন্যবাদ।

সার্ভারটি চলছে এবং সঠিক পোর্টে চলছে তা জানাতে আমি নেটস্যাট ব্যবহার করেছি। আমি এও বলতে পারি যে আমার সার্ভার একটি সাধারণ টেলনেট কমান্ডের সাহায্যে সেই বন্দরে সংযোগ গ্রহণ করছে না।

# On the remote machine
➜  ~ echo X | telnet -e X 192.168.1.57 3306
Telnet escape character is 'X'.
Trying 192.168.1.57...
telnet: connect to address 192.168.1.57: Connection refused
➜  ~ 

ফেডোরার ফায়ারওয়াল কমান্ডের উপর অন্য সহায়ক জবাব অনুসরণ করে আমি সঠিক পোর্টগুলি খুলতে পারি।

# On the server
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

আমার টেলনেট কমান্ডটি তখন সফল হয়েছিল।

# On the remote machine
➜  ~ echo X | telnet -e X 192.168.1.57 3306
Telnet escape character is 'X'.
Trying 192.168.1.57...
Connected to 192.168.1.57.
Escape character is 'X'.

telnet> Connection closed.
➜  ~

আপনার যদি এখনও সমস্যা হয় তবে এটি সম্ভবত ব্যবহারকারীর অনুমতি সংক্রান্ত সমস্যা।



-1

সমাধান নিচের লিঙ্কে বর্ণিত আপনার সমস্যা সমাধানের উচিত http://www.debianhelp.co.uk/remotemysql.htm


2
বিএমএল 13, আপনার উত্তরের সমর্থনে একটি লিঙ্ক উদ্ধৃত করা দুর্দান্ত অনুশীলন, তবে আমরা অনেক লোককে এখানে উত্তরটি লিখতে এবং একটি লিঙ্ক যুক্ত করতে পছন্দ করি, কেবল লিঙ্কটি রেখে দেওয়া হয় না leave
ম্যাডহ্যাটার

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