ম্যাক ওএস এক্সে চলমান মাইএসকিউএল সার্ভার দূরবর্তী অ্যাক্সেস করতে পারে না


11

আমার ওয়ার্ক কম্পিউটারে আমার একটি মাইএসকিউএল সার্ভার চলছে যা ম্যাক ওএস এক্স ম্যাভারিক চালায়। আমি এটি হোম কম্পিউটার থেকে অ্যাক্সেস করতে চাই, এতে ম্যাক ওএস ম্যাভারিকও রয়েছে।

টার্মিনাল থেকে, যদি 1 ট্যাবে থাকে তবে আমি আমার কাজের কম্পিউটারে প্রবেশ করি এবং কেবল এসএসএস সেশনটি অলস না হয়ে সেখানে বসে থাকি, তারপরে অন্য ট্যাবে আমি মাইএসকিউএল সার্ভারটি অ্যাক্সেস করতে পারি।

তবে, ssh অধিবেশন চলমান ছাড়া, আমি নিম্নলিখিত ত্রুটি পেয়ে যাব

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

আমি my.cnfসার্ভারে বাইন্ড-অ্যাড্রেস মন্তব্য করে বা এ্যাসাইন করে ফাইলটি পরিবর্তন করার চেষ্টা করেছি 0.0.0.0তবে এটি কার্যকর হয় না work

কেন এটা যে ভালো হয়? আমি কীভাবে সার্ভারটি কনফিগার করতে পারি যাতে এটি ক্লায়েন্টে ssh না চালিয়ে দূরবর্তী অ্যাক্সেসের অনুমতি দেয়? কেউ দয়া করে সাহায্য করতে পারেন?


রিমোট ওএস এক্সে চলছে পোস্টজিআইএস নিয়ে আমারও একই সমস্যা ... sshএকটি ট্যাবে খোলা থাকলে ডাটাবেসের সাথে সংযোগ করতে পারি , তবে অন্যথায় হয় না। আমি মনে করি যে সমস্যাটি হ'ল আমি যখন দূরবর্তী সার্ভারে লগ ইন না করি তখন ডাটাবেস সার্ভার প্রক্রিয়াটি বিরতি দেওয়া হয় বা চলমান হয় না।
andybega

উত্তর:


20

আমি আজ হোস্টব্রুয়ের সাথে আপডেট হওয়া মাইএসকিউএল 5.7 সহ ওএসএক্স যোসমেটটিতে এই ত্রুটির বিরুদ্ধে আমার মাথা ঘুরিয়ে দিয়েছি। স্ট্যাকওভারফ্লো এবং অন্য কোথাও পরামর্শগুলি অনুসরণ করে, আমি my.cnfউল্লিখিত সমস্ত ফাইলের পরে শিকার করেছি bind-address=0.0.0.0। আমি এই নির্দেশাবলী অনুসরণ করে মাইএসকিউএল এমনকি অপসারণ এবং পুনরায় ইনস্টল করে আবার ব্যবহার করে পুনরায় ইনস্টল করেছি brew install mysql। এখনও কোনও দূরবর্তী সংযোগের অনুমতি নেই।

আমি দৌড়ে গিয়ে ps -ax | grep mysqlলক্ষ্য করি না যে লঞ্চ কমান্ডে বাইন্ড ঠিকানাটি পাস করা হচ্ছে (সুতরাং কোনও my.cnfফাইলকে ওভাররাইড করা হচ্ছে) যে আমি আরও কিছু খনন করেছি এবং জানতে পেরেছি যে হোমব্রু মাইএসকিউএলকে ডিফল্টরূপে 127.0.0.1 এ সংযুক্ত করে

আমার সমস্যার সমাধানের ~/Library/LaunchAgents/homebrew.mxcl.mysql.plistজন্য পরিবর্তনের --bind-address=127.0.0.1জন্য সম্পাদনা করা --bind-address=0.0.0.0(যদি এটি কেবল কোনও উন্নয়ন মেশিন না হয় তবে পরবর্তী একটি নির্দিষ্ট আইপি ঠিকানায় পরিবর্তন করা উচিত)।

আমি অনুভব করি এটি একটি অতি প্রয়োজনীয় তথ্য যা আমার পরামর্শ করা বেশিরভাগ সংস্থান থেকে পাওয়া যায়নি আশা করি এটি এখানে পোস্ট করা অন্য কাউকে সহায়তা করবে!

সম্পাদনা: লেয়ানড্রোসিআর মন্তব্যে যেমন ইঙ্গিত করেছে, দৌড়াতে brew services restart mysqlলঞ্চআজেন্টস-এ প্লাস্ট ফাইলটি ডিফল্ট ফাইলের সাথে ওভাররাইট হয়ে যায়, যার ফলে মাইএসকিউএল রহস্যজনকভাবে আবার সংযোগ প্রত্যাখ্যান করে। আমি মূলত যা লিখেছি তার চেয়ে ভাল পরামর্শটি হ'ল:

  1. সম্পাদনা করুন /usr/local/Cellar/mysql/<yourversion>/homebrew.mxcl.mysql.plistএবং প্রতিস্থাপন করুন --bind-address=127.0.0.1সঙ্গে bind-address=*বা --bind-address=0.0.0.0( বেঁধে-ঠিকানার উপর মাইএসকিউএল ডকুমেন্টেশান দেখুন )
  2. মাইএসকিএল ব্যবহার করে পুনরায় চালু করুন brew services restart mysql

তারপরে মাইএসকিউএল থেকে অ-স্থানীয় সংযোগগুলি গ্রহণ করা চালিয়ে যাওয়া উচিত - যতক্ষণ না আপনি এটি পুনরায় ইনস্টল না করেন, সম্ভবত pres

সম্পাদনা (সেপ্টেম্বর 2019) টিমোথি জর্ন উল্লেখ করেছেন যে মাইএসকিউএল 8.x ইনস্টল করে হোমব্রিউয়ের মাধ্যমে চালানো হচ্ছে না, সুতরাং আমার উত্তর, 2016 সালে লিখিত, কেবলমাত্র 5.x এর সাথে প্রাসঙ্গিক হতে পারে


3
অন্য টিপ: আপনি যদি চালাচ্ছেন $ ব্রিউ পরিষেবাগুলি পুনরায় আরম্ভ করুন মাইএসকিএল এটি প্রতিবার লঞ্চএজেন্টস থেকে প্লিস্ট ফাইলটি পরিষ্কার করবে। আপনি যদি সেই পরিবর্তনটি সম্পাদনা করতে চান / সম্পাদক / লোকাল / সেলার / মাইএসকিএল / << আপনার সংস্করণ> / হোমব্র.এমএক্সসিএল.মাইসকিএল.পিলিস্ট - এছাড়াও এমা আপনাকে অনেক ধন্যবাদ !!!
LeandroCR

আমি মাইএসকিএল 5.6 ব্যবহার করে ইনস্টল করেছি brew install mysql56এবং আমি ~/Library/LaunchAgents/homebrew.mxcl.mysql56.plistএবং /usr/local/Cellar/mysql56/5.6.32/homebrew.mxcl.mysql56.plistফাইলগুলি পরিবর্তন করেছি । তবে এখনও যখন আমি মাইএসকিএল চালু করি তখন mysql.server startপিএস কমান্ডটি দেখায় যে bind-address=127.0.0.1। সম্পাদনার জন্য অন্য কোন ফাইল আছে?
xi.lin

@ xi.lin আমি যেমন বুঝতে পেরেছি, mysql.server startলঞ্চ এজেন্টকে বাইপাস করে, সুতরাং এটি সম্ভবত অন্য কোথাও থেকে এটির সেটিংটি পেতে পারে। এর সেটিংটি ব্যবহার করতে plist, আপনাকে সম্ভবত ব্যবহার করতে হবেbrew services restart mysql
এমা বুড়ো

brew services restart mysqlআউটপুট Successfully started mysql` (লেবেল: homebrew.mxcl.mysql) ব্যবহার করে @ এমমাবারুজ `তবে এখনও ঠিকানাটি রয়েছে 127.0.0.1 । আসলে আমি খুঁজে মামাতো homebrew.mxcl.mysql.plistপরিবর্তে থাকারhomebrew.mxcl.mysql56.plist
xi.lin

1
এখনকার মতো এটি এখন কীভাবে এটি কাজ করে। চালানোর জন্য ব্যবহৃত কমান্ড mysqld_safeআমার জন্য কোন হয়েছে bind_address। পরিবর্তে এটি নির্দিষ্ট করা আছে /usr/local/etc/my.cnf
টিমম্মে

6

দৌড়ে locate my.cnfফাইলটি পাওয়া গেল/usr/local/etc/my.cnf

  1. ফাইলটি সম্পাদনা করুন এবং সেট করুন bind-address = 0.0.0.0
  2. মাইএসকিএল পুনরায় চালু করুন: brew services restart mysql

5

আমি আশা করি আপনার '%'ওয়াইল্ডকার্ডের সাথে দূরবর্তী অ্যাক্সেসের জন্য ব্যবহারকারী তৈরি করতে হবে এবং ডিবি'র কাছে অনুমতি দেওয়ার অনুমতি দেওয়া হবে।

ধাপ 1:

My.cnf ( /server/9107/how-do-i-find-where-mysql-is-loading-its-config-from ) এ আপনার বাইন্ডের ঠিকানা মন্তব্য করুন

# bind-address        = xxx.xxx.xxx.xxx

এবং মাইএসকিউএল সার্ভার পুনরায় চালু করুন।

ধাপ ২:

তারপরে আপনাকে রিমোট অ্যাক্সেসের জন্য ব্যবহারকারীকে অনুমতি দিতে হবে

GRANT ALL ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypass';

দূরবর্তী সংযোগটি কীভাবে সক্ষম করবেন তা দয়া করে দেখুন


আমি এই সেটিংটি আগে (বাইন্ড-ঠিকানা মন্তব্য করে) চেষ্টা করেছি এবং এটি কার্যকর হয়নি work আমি একটি ব্যবহারকারী তৈরি করেছি এবং পাশাপাশি সমস্ত অনুমতিও দিয়েছি। mysql> show grants for 'home'; | Grants for home@% | GRANT ALL PRIVILEGES ON *.* TO 'home'@'%' IDENTIFIED BY PASSWORD '...' WITH GRANT OPTION |
শেপুখা

আপনার জায়গায় কোনও ফায়ারওয়াল আছে? যদি এটি হয় তবে তা অক্ষম করুন।
আবদুল মানাফ

হ্যাঁ, ফায়ারওয়াল বন্ধ হয়ে গেলে আমি সার্ভারটি অ্যাক্সেস করতে পারি। তবে কি আমি ফায়ারওয়ালটি সম্পূর্ণরূপে বন্ধ করার পরিবর্তে এসকিএল সার্ভারে দূরবর্তী অ্যাক্সেসের অনুমতি দেওয়ার জন্য কনফিগার করতে পারি? সার্ভার উপর, ফায়ারওয়াল সেটিংসে, আমি সেট করেছি mysqld "ইনকামিং সংযোগ অনুমতি দিন" এ
chepukha

আপনার কি এসকিউএল সার্ভার একই মেশিনে ইনস্টল করা আছে?
আবদুল মানাফ

হ্যাঁ আমি করেছি. আপনি একই মেশিনে এসকিউএল সার্ভার এবং ফায়ারওয়াল বলতে চান?
শেপুখা

0

Iptables -L হিসাবে iptables দেখুন

যদি আপনার আইপি উপস্থিত না থাকে তবে এটি যুক্ত করুন

উবুন্টু অ্যাডির আইপি অ্যাক্সেসের অনুমতি দেওয়ার ক্ষেত্রে:

iptables -A ALLOWIN -s 192.168.1.XX/32 ! -i lo -j ACCEPT
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.