সকেট হোমব্রুয়ের মাধ্যমে স্থানীয় মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না


109

আমি সম্প্রতি হোমব্রিউ ( brew install mysql) দিয়ে মাইএসকিউএল ইনস্টল করার চেষ্টা করেছি এবং যখন আমি এটি চালানোর চেষ্টা করি তখন আমি নিম্নলিখিত ত্রুটিটি পাই:

ERROR 2002 (HY000): সকেট '/tmp/mysql.sock' (2) এর মাধ্যমে স্থানীয় মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না

নেই /tmp/mysql.sockআর নেই /var/lib/mysql.sock

আমি অনুসন্ধান করেছি এবং কোনও mysql.sockফাইল পাইনি ।

আমি এটা কিভাবে ঠিক করবো?


আপনি এই লিঙ্কটি গীকহাদসের উত্তর দেখতে পারেন। stackoverflow.com/questions/4847069/...
GeekHades

আমার ল্যাপটপের ব্যাটারিটি মারা যাওয়ার পরে এবং অসম্পূর্ণ শাটডাউন করতে বাধ্য হওয়ার পরে আমি ইনস্টল করা মাইএসকিএল তৈরি করেছি এবং একই সমস্যা ছিল। mysqldজিনিস পরীক্ষা করা এবং মাইএসকিউএল সঠিকভাবে শেষবারের মতো বন্ধ হয়ে গেছে তা নিশ্চিত করার জন্য এটি দৌড়ানোর উপযুক্ত । যদি এটি একটি 'নোংরা' শাটডাউন (উদাহরণস্বরূপ যদি কোনও ল্যাপটপের ব্যাটারি কোনও সিস্টেম বন্ধ করতে বাধ্য করে) তবে এটি এটিকে পরিষ্কার করা উচিত। তারপর আপনি মাইএসকিউএল সার্ভার আবার শুরু করতে পারেন: mysql.server start
ডেভ এভারিট

1
এই উত্তর আমার জন্য কাজ stackoverflow.com/a/6378429/2641861
ArnoHolo

টাইম মেশিন ব্যাকআপ থেকে নতুন ম্যাক মিনি পুনরুদ্ধার করার পরে এটি আমার জন্য ঘটে। কাজ শুরু করার জন্য আমাকে mysql@5.7 আনইনস্টল করতে হয়েছিল এবং এটি পুনরায় ইনস্টল করতে হয়েছিল। একটি হাতুড়ি বিট তবে তুলনামূলকভাবে বেদনাদায়ক ছিল যেহেতু আমার সমস্ত কনফিগারেশন ধরে রাখা হয়েছে।
জোশুয়া পিন্টার

উত্তর:


93

আপনি যখন সার্ভারটি দিয়ে চলছেন

mysql.server start

আপনার সকেটটি /tmp/mysql.sock এ দেখতে হবে । তবে সিস্টেমটি এটি /var/mysql/mysql.sock এ প্রত্যাশা করে বলে মনে হচ্ছে । এটি ঠিক করতে, আপনাকে / var / mysql তে একটি সিমিলিংক তৈরি করতে হবে :

sudo mkdir /var/mysql

sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

এটি আমার জন্য এটি সমাধান করেছে। এখন আমার পিএইচপিএমওয়াই অ্যাডমিন লোকালহোস্ট এবং 127.0.0.1 এর সাথে সুখে কাজ করে ।

ক্রেডিট হেনরি যায়


1
এটি ওয়ার্ডপ্রেস মাইএসকিউএলে কানেক্ট করতে ব্যর্থ হওয়ায় আমার সমস্যাও সমাধান করেছে। আবারও ধন্যবাদ
আইয়ুব

20
আমি চেষ্টা করার পরে mysql.server startআমি পেতে ERROR! The server quit without updating PID file (/usr/local/var/mysql/lyahdav-C02R32HCG8WM.pid)। আমার মাধ্যমে ইনস্টল করা মাইএসকিউএল এর একটি পুরানো সংস্করণ দরকার brew install mysql@5.6
লিরন ইয়াহদাভ

3
চলছে। mysql.server startএটি আমার জন্য স্থির করুন
ivange94

@ লিরন, আপনি যে সমস্যার মুখোমুখি হচ্ছেন তা কি ঠিক করেছেন? আমি কোনও সমস্যা ছাড়াই একই সমস্যার মুখোমুখি হচ্ছি।
বাডি

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

61

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

mysqld stop
mysql.server start

একই ত্রুটি, এবং এটি আমার পক্ষে কাজ করে।


89
। ত্রুটি! PID ফাইল আপডেট না করে সার্ভারটি প্রস্থান করে (/usr/local/var/mysql/myHostName.pid)। ?
Pesulap

আমি mysqld &উপরের একটি মন্তব্য প্রতি করেছিলাম, তবে আমি মনে করি এটি সম্ভবত একই জিনিসটি করবে কারণ mysqld stop আমি আমার ক্ষেত্রে এটি নিশ্চিত যে এটি একটি অনুচিত বন্ধের কারণে হয়েছিল।
মিচ ভ্যানডুইন

54

আমার আর একটি মাইএসকিএল (8.0) ইনস্টলেশন থেকে কিছু ডিরেক্টরি বাকী ছিল, সেগুলি সরানো হয়নি।

আমি নিম্নলিখিতটি দ্বারা এটি সমাধান করেছি:

প্রথমে মাইএসকিএল আনইনস্টল করুন

brew uninstall mysql@5.6

সরানো হয়নি এমন ফোল্ডার / ফাইলগুলি মুছুন

rm -rf /usr/local/var/mysql
rm /usr/local/etc/my.cnf

মাইএসকিএল পুনরায় ইনস্টল করুন এবং এটি লিঙ্ক করুন

brew install mysql@5.6
brew link --force mysql@5.6

পরিষেবাটি সক্ষম করুন এবং শুরু করুন

brew services start mysql@5.6

3
অনেক অনেক ধন্যবাদ :) সমস্ত নির্দেশাবলী ব্যর্থ হয়েছিল তবে আপনার
ব্য্যাচেসলাভ লোগোনভ

1
আপনাকে ধন্যবাদ - এই উত্তরটি প্রাচীরের বিরুদ্ধে 24 ঘন্টা মাথা পিটিয়ে শেষ হয়েছে
ভ্লাদিম

1
এটি সেখানে আরও কিছু চেষ্টা করার পরেও আমার পক্ষে কাজ করেছিল! ধন্যবাদ!!!! :)
এরিক

1
আমার কাছে মনে হচ্ছে সমস্যাটি হ'ল আমার পূর্ববর্তী ইনস্টলেশন পরে আমার কাছে / usr / স্থানীয় / var / mysql ছিল। মুছে ফেলা কৌশলটি! আপনার পরামর্শের জন্য ধন্যবাদ.
themantimes8

এই ত্রুটিটি গায়েব হওয়ার আগে আমার হোমব্রিউ দ্বারা উল্লিখিত "mysql_secure_installation" পদক্ষেপটি চালানো দরকার।
searaig

27

"127.0.0.1" এর পরিবর্তে "লোকালহোস্ট" ব্যবহার করে সংযোগ দেওয়ার চেষ্টা করুন।


2
@ ইস্তেবান মাইএসকিউএল ইউনিক্স সকেটের সাথে সংযোগ স্থাপনের চেষ্টা করবে যদি আপনি "লোকালহোস্ট" এর সাথে সংযোগ স্থাপন করতে বলেন। আপনি যদি 127.0.0.1 এর সাথে সংযোগ স্থাপন করতে বলেন তবে আপনি এটি নেটওয়ার্ক সকেটে সংযোগ করতে বাধ্য করছেন। সুতরাং সম্ভবত আপনি মাইএসকিউএল কেবলমাত্র নেটওয়ার্ক সকেটের জন্য ফাইল কনফিগার করেছেন ফাইল ফাইল সকেটে নয়। (সূত্র: serverfault.com/a/295300/59101 )
Ardee অরামের

এটি আমাকে মাইএসকিএল ক্লায়েন্টকে টিসিপি সকেট ব্যবহার করতে বাধ্য করতে সহায়তা করেছিল, কারণ আমি আমার দূরবর্তী মাইএসকিউএল ডিবিতে লোকালহোস্টে একটি এসএসএইচ টানেল চালাচ্ছি।
IOW

22

1) আপনি যদি কমান্ডের নীচে দৌড়ানোর সময় "মাইএসকিএল বন্ধ" দেখতে সক্ষম হন;

brew services list

2) এবং যদি আপনি নীচের কমান্ড দিয়ে মাইএসকিএল শুরু করতে সক্ষম হন;

mysql server start

এর অর্থ; মাইএসকিএল ম্যানুয়ালি শুরু করতে সক্ষম হয়, তবে অপারেটিং সিস্টেম শুরু হওয়ার পরে এটি স্বয়ংক্রিয়ভাবে শুরু হয় না। পরিষেবাগুলিতে মাইএসকিএল যুক্ত করা এই সমস্যার সমাধান করবে। এটি করার জন্য, আপনি কমান্ডের নীচে রান করতে পারেন;

brew services start mysql

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

ERROR 2002 (HY000): সকেট '/tmp/mysql.sock' (2) এর মাধ্যমে স্থানীয় মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না

আশা করি এটা কাজে লাগবে.


@ বার্ক এটি আমার ক্ষেত্রে ত্রুটি থেকে মুক্তি পেতে সহায়তা করেছে তবে অন্য একটি ত্রুটি প্রেরণা দিয়েছে 'ERROR 1045 (28000): ব্যবহারকারীর জন্য অ্যাক্সেস প্রত্যাখ্যান' @ 'লোকালহোস্ট' (পাসওয়ার্ড ব্যবহার করে: নেই) '
প্রতীক খড়কা

হাই @ প্রতীকখাদকা, আপনি এখন যে ত্রুটিটি পাচ্ছেন তার অর্থ মাইএসকিএল চলছে এবং আপনার প্রমাণীকরণের সমস্যা রয়েছে have আপনার পোস্ট করা ত্রুটি বার্তা অনুসারে, আপনি ব্যবহারকারীর নামটি 'ব্যবহারকারী' হিসাবে ব্যবহার করছেন এবং কোনও পাসওয়ার্ড ব্যবহার করছেন না। আপনার একটি বৈধ ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করা উচিত। আমি আপনাকে নীচের লিঙ্কটি পরীক্ষা করার পরামর্শ দিচ্ছি; " forums.mysql.com/read.php?34,140320,140324 "
বার্ক

ওএস পুনরায় চালু করার দরকার নেই, কেবল "ব্রিউ পরিষেবাগুলি শুরু মাইএসকিএল" চালানো আমার পক্ষে কাজ করেছে। ধন্যবাদ!
একেএস

হাই @ কাক্স, আপনি ঠিক বলেছেন। এটি কাজ করার জন্য পুনঃসূচনা প্রয়োজন হয় না। পুনঃসূচনা কেন প্রয়োজন তা বোঝাতে আমি উত্তর সম্পাদনা করেছি। ওএস শুরু করা হলে মাইএসকিএল স্বয়ংক্রিয়ভাবে শুরু হয় কিনা তা দেখার প্রয়োজন। প্রতিক্রিয়ার জন্য ধন্যবাদ!
বার্ক

5

ফাইলটি /tmp/mysql.sockসম্ভবত একটি নামযুক্ত পাইপ, যেহেতু এটি অস্থায়ী ফোল্ডারে রয়েছে। একটি নামক পাইপ একটি বিশেষ-ফাইল যা কখনও স্থায়ীভাবে সঞ্চয় হয় না।

যদি আমরা দুটি প্রোগ্রাম করি এবং আমরা চাই যে একটি প্রোগ্রাম অন্য প্রোগ্রামে একটি বার্তা প্রেরণ করতে পারে, আমরা একটি পাঠ্য ফাইল তৈরি করতে পারি। আমাদের একটি প্রোগ্রাম টেক্সট ফাইলে কিছু লেখা আছে এবং অন্য প্রোগ্রামটি আমাদের অন্যান্য প্রোগ্রামটি কী লিখেছিল তা পড়তে পারে। এটি একটি পাইপ যা হ'ল এটি আমাদের কম্পিউটারের হার্ড ডিস্কে ফাইলটি না লিখে, IE স্থায়ীভাবে ফাইলটি সংরক্ষণ করে না (যেমন আমরা যখন ফাইল তৈরি করি এবং সংরক্ষণ করি তখন তা করি))

পাইকার মতোই সকেট হ'ল। পার্থক্যটি হ'ল কম্পিউটারের মধ্যে সকেটগুলি সাধারণত একটি নেটওয়ার্কের মধ্যে ব্যবহৃত হয়। একটি সকেট অন্য কম্পিউটারে তথ্য প্রেরণ করে, বা অন্য কম্পিউটার থেকে তথ্য গ্রহণ করে। পাইপ এবং সকেট উভয়ই ভাগ করতে একটি অস্থায়ী ফাইল ব্যবহার করে যাতে তারা 'যোগাযোগ' করতে পারে।

এক্ষেত্রে কোন মাইএসকিউএল ব্যবহার করছে তা নির্ধারণ করা কঠিন। যদিও কিছু আসে যায় না।

কমান্ডটির mysql.server startউচিত 'সার্ভার' (প্রোগ্রাম) এর অসীম লুপটি চালানো যা সেই বিশেষ ফাইলটি তৈরি করবে এবং পরিবর্তনের জন্য অপেক্ষা করবে (listen লেখার জন্য)।

এর পরে, একটি সাধারণ সমস্যা হতে পারে যে মাইএসকিএল প্রোগ্রামটি আপনার মেশিনে একটি ফাইল তৈরি করার অনুমতি নেই, তাই আপনাকে এটির মূল অধিকারগুলি দিতে হতে পারে

sudo mysql.server start

এটি দুর্দান্ত কাজ করেছে, ধন্যবাদ। আমি কেবল দৌড়েছি mysql.server start, mysql.server stopএবং তারপরে আবার হোমব্রিউয়ের মাধ্যমে পরিষেবাটি শুরু করেছি brew services start mysql@5.7এবং জিনিসগুলি সহজেই চলছিল।
টেলরথার্লো

4

ম্যাকোস মোজাভে ইনস্টল করার পরে, মাইএসকিএল ফোল্ডারটি মুছতে হবে /usr/local/var/mysqlএবং তারপরে পুনরায় ইনস্টল brew install mysqlকরতে হবে অন্যথায় অনুমতি সম্পর্কিত জিনিসগুলি পুরো জায়গা জুড়ে আসবে।


আমি আপনার উত্তরের সাথে আমার সমস্যাটি সমাধান করেছি, আমি আগে মাইএসকিএল ইনস্টল করেছি এবং তারপরে mysql@5.6 এ ডাউনগ্রেড করার চেষ্টা করেছি
রড্রিরোক্র

ধন্যবাদ দোস্ত. এটি আমার সমস্যাও সমাধান করেছে। / usr / স্থানীয় / var / mysql অপসারণ এবং পুনরায় ইনস্টল করা আমার পক্ষে সমাধান ছিল solution
ওউজ ক্যান সার্টেল

1
সাবধান: /usr/local/var/mysqlআপনাকে সরানো আপনার বিদ্যমান সমস্ত ডাটাবেসও সরিয়ে ফেলবে!
লিওনার্দো

3

আমি একই ত্রুটি পেয়েছি এবং এটিই আমাকে সাহায্য করেছিল:

$ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
$launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
$mysql -uroot
mysql>

3

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

মজাদার ফাইলটি মাইএসকিএলডি দ্বারা তৈরি হয় এবং মাইএসকিএল এটির সাথে যোগাযোগের জন্য এটি ব্যবহার করে। তবে যদি আপনার মাইএসকিএল সার্ভারটি স্থানীয়ভাবে চালিত না হয় তবে এর জন্য সোক ফাইলের প্রয়োজন হবে না।

হোস্টের নাম / আইপি নির্দিষ্ট করে মোজা ফাইলের প্রয়োজন হয় না যেমন

mysql --host=127.0.0.1 --port=3306 --user=xyz --password=xyz

3

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

আমার সমস্যা

একই, তবে আমার সেটআপটি কিছুটা আলাদা (মাইএসকিএলের পরিবর্তে মারিয়াদব):

হোমব্রিউ সহ মারিয়্যাডবি ইনস্টল করা হয়েছে

$ brew install mariadb

শুরু করলেন ডিমন

$ brew services start mariadb

সংযোগ দেওয়ার চেষ্টা করে উপরে বর্ণিত ত্রুটি পেয়েছি

$ mysql -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

আমার সমাধান

কোন my.cnfফাইলগুলি mysql(এই মন্তব্যে প্রস্তাবিত হিসাবে ) ব্যবহৃত হয় তা সন্ধান করুন :

$ mysql --verbose --help | grep my.cnf
/usr/local/etc/my.cnf ~/.my.cnf
                        order of preference, my.cnf, $MYSQL_TCP_PORT,

ইউনিক্স সকেট ফাইলটি কোথায় চলছে তা পরীক্ষা করুন (প্রায় এখানে বর্ণিত হিসাবে ):

$ netstat -ln | grep mariadb
.... /usr/local/mariadb/data/mariadb.sock

(আপনি চাইবেন grep mysql মারিয়াডাবের পরিবর্তে চাইবেন)

সকেট ফাইলটি আপনি খুঁজে পেয়েছেন ~/.my.cnf(প্রয়োজনীয় হলে ফাইলটি তৈরি করুন) (ধরে নিচ্ছেন-উপর থেকে কম্যান্ড ~/.my.cnfচালানোর সময় তালিকাভুক্ত করা হয়েছিল mysql --verbose ...):

[client]
socket = /usr/local/mariadb/data/mariadb.sock

আপনার মারিয়াডব পুনরায় চালু করুন:

$ brew services restart mariadb

এর পরে আমি মাইএসকিএল চালাতে পারি এবং পেয়েছিলাম:

$ mysql -uroot
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

সুতরাং আমি পরিবর্তে সুপারভাইজার সুবিধাগুলি দিয়ে কমান্ডটি চালাই এবং আমার পাসওয়ার্ডটি প্রবেশ করার পরে পেয়েছিলাম:

$ sudo mysql -uroot
MariaDB [(none)]>

মন্তব্য:

  1. আমি যে দলগুলিকে সকেট যুক্ত করতে হবে সেগুলি সম্পর্কে আমি নিশ্চিত নই, প্রথমে আমার কাছে এটি [ক্লায়েন্ট-সার্ভার] ছিল তবে আমি বুঝতে পেরেছিলাম [ক্লায়েন্ট] যথেষ্ট হওয়া উচিত। সুতরাং আমি এটি পরিবর্তন করেছি এবং এটি এখনও কাজ করে।

  2. দৌড়ানোর সময় mariadb_config | grep socketআমি পাই: --socket [/tmp/mysql.sock] যা কিছুটা বিভ্রান্তিকর বলে মনে হচ্ছে যে /usr/local/mariadb/data/mariadb.sockএটি আসল জায়গা (কমপক্ষে আমার মেশিনে)

  3. আমি আশ্চর্য হয়েছি যেখানে আমি /usr/local/mariadb/data/mariadb.sockআসলে এটি কনফিগার করতে পারি /tmp/mysql.sockযাতে আমার সম্পাদনা করার পরিবর্তে আমি ডিফল্ট সেটিংস ব্যবহার করতে পারি .my.cnf(তবে আমি এখন বুঝতে পেরে খুব ক্লান্ত হয়ে পড়েছি ...)

  4. কিছু সময়ে আমি এগুলি আসার আগে অন্যান্য উত্তরে উল্লিখিত জিনিসগুলিও করেছি did


2

আপনাকে দৌড়াতে হবে mysql_install_db- আপনি যদি ইনস্টল ডিরেক্টরিটিতে থাকেন তবে সবচেয়ে সহজ উপায়:

$ cd /usr/local/Cellar/mysql/<version>/ 
$ mysql_install_db

বিকল্পভাবে, আপনি নিম্নলিখিতগুলির মতো mysql_install_dbএকটি basedirপ্যারামিটার খাওয়াতে পারেন :

$ mysql_install_db --basedir="$(brew --prefix mysql)"

2

আমি আমার ম্যাকতে একই সমস্যার মুখোমুখি হয়েছি এবং নিম্নলিখিত টিউটোরিয়ালগুলি অনুসরণ করে এটি সমাধান করেছি

https://mariadb.com/resources/blog/installing-mariadb-10116-mac-os-x-homebrew

তবে চালিয়ে যাওয়ার আগে পুরাতন সংস্করণটি হত্যা বা আনইনস্টল করতে ভুলবেন না।

আদেশগুলি:

brew uninstall mariadb

xcode-select --install

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - See more at: https://mariadb.com/resources/blog/installing-mariadb-10116-mac-os-x-homebrew#sthash.XQoxRoJp.dpuf

brew doctor

brew update

brew info mariadb

brew install mariadb

mysql_install_db

mysql.server start

1
আপনি যে লিঙ্কটি সরবরাহ করেছিলেন, আপনাকে কীভাবে সহায়তা করেছে তা দয়া করে কয়েকটি সংক্ষিপ্ত উদাহরণ দিয়ে ব্যাখ্যা করুন। লিঙ্কগুলি অদৃশ্য হয়ে যেতে পারে এবং তাই এটি আপনার উত্তর মোছার কারণ হতে পারে।
কুর্ট ভ্যান ডেন ব্র্যান্ডেন

2

পুনঃসূচনা করার পরে আমি স্থানীয় মারিয়াদবের সাথে সংযোগ স্থাপন করতে পারিনি, একটি অনুসন্ধানও আমাকে এই পৃষ্ঠায় নিয়ে এসেছিল এবং আমি আমার সমাধানটি আপনার সাথে ভাগ করে নিতে চাই।

আমি লক্ষ্য করেছি যে / usr / স্থানীয় / ইত্যাদি / ডিরেক্টরিতে my.cnf.d ডিরেক্টরিটি অনুপস্থিত।

এটি হোমব্রুযুক্ত একটি পরিচিত বাগ যা সেখানে বর্ণিত এবং সমাধান করা হয়েছে। https://github.com/Homebrew/homebrew-core/issues/36801

দ্রুত সমাধানের উপায়: mkdir /usr/local/etc/my.cnf.d


এটি আমার পক্ষে কাজ করেছে। স্থানীয় মারিয়্যাডবি-র সাথে সংযুক্ত হয়ে brew updateপুনরায় আরম্ভ করতে পারেনি । হলুদে brew services listমারিয়্যাডবি স্থিতি দেখানো হয়েছিল started। বখশিশের জন্য ধন্যবাদ.
nterms

1

যখন mysql_secure_installation চালাচ্ছি এবং নতুন পাসওয়ার্ড প্রবেশ করলাম তখন:


ত্রুটি: সকেট '/tmp/mysql.sock' (2) এর মাধ্যমে স্থানীয় মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না


এই উত্তরটি থেকে নিম্নলিখিতটি চেষ্টা করার সময় আমি লক্ষ্য করেছি :

netstat -ln | grep mysql

এটি কিছুই ফেরেনি, এবং আমি এটি গ্রহণ করেছিলাম যে কোনও .sock ফাইল নেই।

সুতরাং, আমি আমার নিচের টি যোগ my.cnf ফাইল (হয় এ /etc/my.cnf বা আমার ক্ষেত্রে, /usr/local/etc/my.cnf )।

অধীনে:

[mysqld]
socket=/tmp/mysql.sock

অধীনে:

[client]
socket=/tmp/mysql.sock

এটি এই পোস্টের উপর ভিত্তি করে ছিল ।

তারপরে আবার মাইএসকিএল বন্ধ করুন / আরম্ভ করুন এবং মাইএসকিএল_সিকিউর_ইনস্টলেশন পুনরায় চেষ্টা করুন যা শেষ পর্যন্ত আমাকে আমার নতুন রুট পাসওয়ার্ডটি প্রবেশ করায় এবং অন্যান্য সেটআপ পছন্দগুলি দিয়ে চালিয়ে যেতে দেয়।

আমি আশা করি এটা কারো সাহায্যে লাগবে. মানুষ, আমি এই জিনিস ঘৃণা করি ...


0

এই থ্রেডটি সম্পূর্ণ করার জন্য। অতএব এমএএমপি (প্রো) প্রায়শই ব্যবহার করা হয়

এখানে পথ

/Applications/MAMP/tmp/mysql/mysql.sock

0

আমি ম্যানুয়ালি ডাটাবেস আরম্ভ করে তারপরে শুরু করে সিস্টেমের পছন্দগুলি প্যানে মাইএসকিএল শুরু করেছি। এটি আমার সমস্যার সমাধান করেছে।


0

আমার ক্ষেত্রে, অপরাধীটি লগফাইলে পাওয়া গিয়েছিল:

$ tail /usr/local/var/mysql/<hostname>.lan.err
2019-09-19  7:32:21 0 [ERROR] InnoDB: redo log file './ib_logfile0' exists. Creating system tablespace with existing redo log files is not recommended. Please delete all redo log files before creating new system tablespace.
2019-09-19  7:32:21 0 [ERROR] InnoDB: Database creation was aborted with error Generic error. You may need to delete the ibdata1 file before trying to start up again.

সুতরাং আমি ib_logfile0ত্রুটি থেকে মুক্তি পেতে পুনরায় নামকরণ করেছি (পরে আমারও একই কাজটি করতে ib_logfile1হয়েছিল)।

mv /usr/local/var/mysql/ib_logfile0 /usr/local/var/mysql/ib_logfile0_bak
mv /usr/local/var/mysql/ib_logfile1 /usr/local/var/mysql/ib_logfile1_bak
brew services restart mariadb

0

আমারও একই সমস্যা ছিল সাফল্য ছাড়াই এই সমস্ত পদ্ধতি চেষ্টা করার পরে আমি নিম্নলিখিতগুলি করেছি:

tail -f the-mysql-or-maria-db-error-file.err

অন্য কনসোলে:

brew services restart mariadb

আমি নিম্নলিখিত ত্রুটিটি দেখেছি:

"ম্যাক হোমবার্ব ক্র্যাশ পুনরুদ্ধার ব্যর্থ হয়েছে ither হয় সমস্যাটি সংশোধন করুন (যদি এটি উদাহরণস্বরূপ, মেমরির ত্রুটির বাইরে থাকে) এবং পুনরায় চালু করুন, বা টিসি লগ মুছুন এবং মাইএসকিএলএড দিয়ে শুরু করুন"

তাই আমি tc.logএক্সটেনশনটি পরিবর্তন করে মারিয়্যাডবি tc.log.txtপুনরায় চালু করেছি

brew services restart mariadb

এবং সম্পন্ন!


0

এটি আমার পক্ষে কাজ করে:

brew upgrade mysql

ধন্যবাদ


0

আমার জন্য, আমি mariadbঅনেক আগে ইনস্টল করেছি, তারপর ইনস্টল করেছি mysql@5.7

যখন আমি মৃত্যুদন্ড কার্যকর করি তখন আমি mysql -urootত্রুটিটি পাই: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

উত্তর পড়া:

  • আমি আনইনস্টল করেছি mariadb
  • ফোল্ডারটি মোছা হয়েছে /usr/local/var/mysql
  • কমান্ড চালান mysqld --initialize

তখন আমি সক্ষম হয়েছি mysql -uroot -p


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