मैं macOS 10.12 पर हूं और परिचित हूं ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
। लेकिन मुझे नहीं लगता कि यह सामान्य अपराधियों में से एक है।
सॉकेट फ़ाइल /tmp/mysql.sock
अनुपलब्ध है, लेकिन mysqld
चल रही है। वास्तव में दो mysqld
प्रक्रियाएं लगती हैं:
$ ps -axx | grep mysqld
63 ?? 0:00.02 /bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql
109 ?? 0:00.27 /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
267 ?? 0:00.20 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/localhost.err --pid-file=/usr/local/mysql/data/Jonathans-iMac.pid
मुझे लगता है कि मैंने कुछ समय पहले mysql के कुछ संस्करणों को इंस्टॉल और अनइंस्टॉल किया था। तो शायद एक पुराना उदाहरण घूम रहा है, रास्ते में मिल रहा है?
मैं एक पुराने स्थापित नहीं मिल सकता है, यद्यपि। और मैं दूसरी दूसरी mysqld
प्रक्रिया को भी नहीं मार सकता (मुझे लगता है कि यह एक बुरा है) इसके बिना यह तुरंत शुरू होता है। लगता है mysqld_safe
बस इसे पुनरारंभ करता है।
कभी-कभी पूरे सिस्टम को रिबूट करने से जादुई चीजें काम करने लगती हैं। अभी भी दो mysqld
प्रक्रियाएं हैं, लेकिन कम से कम /tmp/mysql.sock
बनाई गई हैं और मैं अपने डेटाबेस को सामान्य रूप से एक्सेस कर सकता हूं। दूसरी बार, रिबूट करने से मदद नहीं मिलती है।
मैंने एक अतिरिक्त .plist
फ़ाइल की तलाश की है जो अतिरिक्त mysqld
प्रक्रिया के लिए जिम्मेदार हो सकती है, लेकिन कोई भाग्य नहीं:
$ locate plist | grep mysql
/Library/LaunchDaemons/com.mysql.mysql.plist
/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
/private/var/db/receipts/com.mysql.launchd.plist
/private/var/db/receipts/com.mysql.mysql.plist
/private/var/db/receipts/com.mysql.prefpane.plist
यहां /Library/LaunchDaemons/com.mysql.mysql.plist की सामग्रियां दी गई हैं:
<!--?xml version="1.0" encoding="UTF-8"?-->
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true />
<key>Label</key>
<string>com.mysql.mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mysql/bin/mysqld_safe</string>
<string>--user=mysql</string>
</array>
और /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.oracle.oss.mysql.mysqld</string>
<key>ProcessType</key> <string>Interactive</string>
<key>Disabled</key> <false/>
<key>RunAtLoad</key> <true/>
<key>KeepAlive</key> <true/>
<key>SessionCreate</key> <true/>
<key>LaunchOnlyOnce</key> <false/>
<key>UserName</key> <string>_mysql</string>
<key>GroupName</key> <string>_mysql</string>
<key>ExitTimeOut</key> <integer>600</integer>
<key>Program</key> <string>/usr/local/mysql/bin/mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mysql/bin/mysqld</string>
<string>--user=_mysql</string>
<string>--basedir=/usr/local/mysql</string>
<string>--datadir=/usr/local/mysql/data</string>
<string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
<string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
<string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
</array>
<key>WorkingDirectory</key> <string>/usr/local/mysql</string>
</dict>
</plist>
किसी भी विचार को समस्या के स्रोत को कैसे पहचाना और ठीक किया जाए?