মাইএসকিউএল 3307 পোর্ট নয় 3307 পোর্টে আবদ্ধ করে


9

2014 এর শেষের দিকে ম্যাক মিনিতে আমি ওএস এক্স ইয়োসেমাইট 10.10.5 চালাচ্ছি। এটি আমার ডেভলপমেন্ট সার্ভার। আমি এই মেশিনে সবেমাত্র মাইএসকিউএল ইনস্টল করেছি: 'মাইএসকিএল - রূপান্তর' রিপোর্ট করে যে সংস্করণটি 'মাইএসকিএল ভার 14.14 ডিস্ট্রিবিউট 5.6.26, ওএসএক্স 10.8 (x86_64) এডিটলাইন র‌্যাপার ব্যবহার করে'। আমি অবশ্যই "ওএস এক্স 10.9" সংস্করণটি ডাউনলোড এবং ইনস্টল করেছি (আমি সবেমাত্র ডিএমজি ফাইলটি পুনরায় চেক করেছি)।

যাইহোক আমি পোর্ট 3306 স্বাভাবিক হিসাবে পণ্যটি শোনার চেষ্টা করছি এবং এটি করতে এটিতে আমার কিছুটা সমস্যা হচ্ছে। ডিফল্টরূপে এটি 3307 পোর্টে আবদ্ধ বলে মনে হচ্ছে, এমনকি যখন আমার সিএনএফ এটি দেখায়:

[mysqld]
bind-address = 0.0.0.0
port         = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

(শেষ লাইনটি ইতিমধ্যে / ইউএসআর / স্থানীয় / মাইএসকিএল / এ ডিফল্ট একটিতে ছিল)

চলমান প্রক্রিয়াটির দিকে তাকিয়ে আমি দেখতে পাচ্ছি কমান্ড লাইনটি (পিএস ax | গ্রেপ মাইএসকিএল) 3307 হিসাবে দেওয়া হয়েছে:

40958   ??  Ss     0:00.38 /usr/local/mysql/bin/mysqld \\
--user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data \\
--plugin-dir=/usr/local/mysql/lib/plugin \\
--log-error=/usr/local/mysql/data/mysqld.local.err \\
--pid-file=/usr/local/mysql/data/mysqld.local.pid --port=3307

(আমি বর্তমানে কমান্ড লাইন থেকে সরাসরি মাইএসকিউএল সিস্টেম পছন্দ প্যানেলটি দিয়ে এটি শুরু এবং বন্ধ করছি)

এটি ক্লায়েন্টের কাছ থেকে অ্যাক্সেস করতে আমাকে অবশ্যই কমান্ড লাইনে পোর্টটি সুস্পষ্টভাবে সেট করতে হবে

$ mysql -u smcphee -h 192.168.x.x -P 3307 -p

কিক্সের জন্য, আমি অন্য কিছু এলোমেলো বন্দর নির্দিষ্ট করতে my.cnf সম্পাদনা করেছি। সার্ভারটি এখনও 3307 পোর্টে আবদ্ধ রয়েছে। আমি ডিস্কে অন্য কোনও মাই সিএনএফ খুঁজে পাই না যা এটি ওভাররাইড করছে।

এখানে কি হচ্ছে?

উত্তর:


10

নিম্নলিখিত ফাইলটি আপনার মেশিনে বিদ্যমান কিনা তা পরীক্ষা করে দেখার চেষ্টা করতে পারেন?

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

3307 এ বন্দরটি সংজ্ঞায়িত করা হয়েছে কিনা তা পরীক্ষা করে দেখুন, এটি যদি আসল পরিবর্তন হয়ে থাকে 3306 এবং পরিষেবাটি পুনরায় চালু করুন।


হ্যাঁ, হ্যাঁ তা করে। এবং এটিতে এই লাইনটি রয়েছে: <string> --port = 3307 </string> কেন এটি ডিফল্টরূপে এটি করবে?
স্কট

1
আমার ধারণা এটি ঘটেছে কারণ এই ফাইলটি পরিষেবাটি শুরু করে, আমি নিশ্চিত নই তবে আপনি যদি লাইনটি মুছুন তবে পরিষেবাটি পোর্টটি my.cnfফাইলটিতে নিয়ে যাবে।
ভিক্টর ম্যারোকুইন

ওহ হ্যাঁ অবশ্যই. "কেন" দ্বারা আমি বোঝাতে চাইছি কেন এটি এমন মানের সাথে ফাইলটি ইনস্টল করবে তবে তারপরে প্রত্যাশিত, বুদ্ধিমান, ডিফল্ট। (আমি অবশ্যই ধরে নিই যে ইনস্টল প্যাকেজটি লঞ্চ ডেমন ইনস্টল করেছে ... কারণ আর কী থাকবে?)
স্কট

1

এটি অবশ্যই মাইএসকিউএল সিস্টেমের অগ্রাধিকার প্যানেল এবং এটি সার্ভারটি শুরু করার সাথে সাথে কিছু করতে হবে। আমি পছন্দ প্যানেলটি অক্ষম করে ফেলেছি removed যখন আমি কমান্ড লাইনে 'mysqld_safe' ব্যবহার করে সার্ভারটি শুরু / বন্ধ করি তখন এটি my.cnf এ উল্লিখিত পোর্টটি ব্যবহার করে।

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