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


143

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

    Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

আমি আমার / টিএমপি ডিরেক্টরিটি পরীক্ষা করে দেখেছি এবং কোনও মাইএসকিএল.সক নেই। আমি কোথাও mysql.sock খুঁজে পাচ্ছি না। আমি পড়েছি যে এটি হতে পারে

    /var/lib/mysql/mysql.sock

তবে আমি সেখানেও পরীক্ষা করে দেখেছি এবং এমনকি কোনও মাইএসকিএল ডিরেক্টরি নেই, কেবলমাত্র কিছু পোস্টফিক্স জিনিস / লিবের ভিতরে। কেউ কি আমাকে এই সমস্যায় সহায়তা করতে পারেন?


2
আমি ম্যাক ওএস এক্স
ব্যবহারকারী 3344382

হ্যালো, আপনি যে কমান্ডটি সংযোগের জন্য ব্যবহার করছেন সেটি কি পেস্ট করতে পারবেন? আপনি কি মাইএসকিউএল শুরু করেছেন?
মার্ক বাটলার

@ মার্কবটলার আমি এই কমান্ডটি ব্যবহার করছি: / ইউএসআর / স্থানীয় /
মাইএসকিএল

ঠিক আছে, এটি ঠিক সার্ভার চলছিল না। তবে, আমি এখনও বুঝতে পারি না যে মাইএসকিএল.সক কোথায়, এটির কোনও অন্য লুকানো জায়গা থাকতে পারে?
ব্যবহারকারী3344382

এই ত্রুটিটি খুব সাধারণ, এবং এটি বিভিন্ন কারণে হতে পারে। : একটি ঝরঝরে সারমর্মের জন্য এখানে দেখতে medium.com/@7anac/...
Janac মীনা

উত্তর:


272

মাইএসকিউএল সার্ভার শুরু করার চেষ্টা করুন:

mysql.server start


44
ত্রুটি! সার্ভারটি পিআইডি ফাইল আপডেট না করেই
ছাড়ল

1
@ ওয়েগগিনহো যদি আপনি মাইএসকিএল সার্ভার শুরু করে
কেসি রবিনসন

মাইএসকিএল পরিষেবা ভুলে গেছেন!
গীকহ্যাডস

1
@ বাস্টিয়ানওয়েজে /usr/local/var/mysql/USERNAME.local.err এ ত্রুটি ফাইলটি চেক করার চেষ্টা করুন আমার ক্ষেত্রে আমাকে /tmp/mysql.sock মুছে ফেলতে হবে তারপরে পুনরায় চালু করতে হবেmysql.server start
জোশ ব্র্যাডলি

61

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


1
একটি টন @ ক্যারেনকে এত সহজ ধন্যবাদ, আমি আমার মাই সিএনএফ ফাইলের সেটিংস পরিবর্তন করতে 45 ​​মিনিট সময় নষ্ট করেছিলাম যখন পুরো সময়টাই ছিল একমাত্র সমস্যা।
কানড্রয়েজ

আমার জন্য ধন্যবাদ ধন্যবাদ, ডিএমজি ইনস্টলেশনের দিক থেকে ধারণা ছিল না।
রামেশ্বর ভাইভাড়ে

দুর্ভাগ্যক্রমে এটি আমাকে সাহায্য করতে পারেনি
সিমহুমিলিকো

সহজ এবং দুর্দান্ত!
ডেসমন্ড ডিএআই

6
উম, কি? কেন ওএসএক্সের সিস্টেমের অগ্রাধিকারগুলিতে মাইএসকিউএল বিকল্প থাকবে?
AlxVallejo

45

এমএএমপি এর জন্য

ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

Https://coderwall.com/p/w5kwzw/solve-can-t-connect-to-local-mysql-server-through-sket-tmp-mysql-sock থেকে

আপডেট: প্রতিবার আমার কম্পিউটারটি পুনঃসূচনা হলে আমাকে এই কমান্ডটি প্রবেশ করতে হবে, তাই আমি একটি শর্টকাট তৈরি করেছি।

টার্মিনাল টাইপ নিম্নলিখিত করুন:

~: vi ~/.profile

যোগ

alias ...='source ~/.profile'
alias sockit='sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock'

সংরক্ষণ.

টার্মিনাল টাইপ:

~: ... উত্স থেকে। প্রোফাইল কনফিগার করুন।

এখন টার্মিনালে আপনি কেবল টাইপ করতে পারেন

~: sockit

1
অসাধারণ. আমি ঠিক করতে চাইছিলাম।
জোশহিল্যান্ড

1
আমি এই পোস্টে একাধিকবার ফিরে এসেছি এবং এটি সর্বদা কার্যকর হয়।
ট্রে কোপেল্যান্ড

এমএএমপি এর বাইরে মাইএসকিএল ৫.7.১ এ আপগ্রেড করা হয়েছে এবং ত্রুটিতে চলেছে। এটি আমার জন্য এটি স্থির করেছে
ডেভিড

আপনি যদি কোনও ম্যাক বইতে থাকেন এবং আপনি এমএএমপিকে এই কাজগুলি
দেখেন

32

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

sudo chown -R _mysql:mysql /usr/local/var/mysql

sudo mysql.server start

1
3 ঘন্টা অনুসন্ধানের পরে এটি আমার সমস্যার সমাধান করেছে। আমি কেবল হোমব্রিউয়ের মাধ্যমে মাইএসকিএল ইনস্টল করেছি brew install mysqlতবে হোমব্রব্রু কমান্ডগুলির কিছুই আমাকে সঠিকভাবে কাজ করতে বলে নি। এটি প্রতিটি সমস্যা দূরে সরিয়ে দিয়েছে ... ধন্যবাদ !! আপনি যে প্রথম লাইনটি লিখেছেন তা ঠিক কী? এর মানে কী?
মেসেখ

ধন্যবাদ, ভাল কাজ করে!
নীরোজন সেলভনাথন

1
আরে আমার জন্য এটি ছিল: সুডো ডাউন -আর _ মাইএসকিএল: মাইএসকিএল / ইউএসআর / স্থানীয় / মাইএসকিএল / ডেটা
জুনাইদ ভূরা

ডোবা -আর মালিককে পরিবর্তন করুন -আর পুনরাবৃত্তভাবে
হোস বুধ

মারিয়্যাডবি (10.2.10) ইনস্টল করার সময় একটি মূল 10.13.1 এবং হোমব্রিউ এই ত্রুটিটি দিয়েছে। এই মালিকের পরিবর্তন এটি স্থির করেছে, সুতরাং এখন sudo brew services start mariadbবুটে মারিয়্যাডবি শুরু করার জন্যও কাজ করে (কেবলমাত্র লগইনে নয়)। হ্যাঁ! ধন্যবাদ!
iggie

16

সমস্ত সমাধান চেষ্টা করার পরে এটি হোস্টকে নির্দিষ্ট করার পরে কেবল আমার জন্য কাজ করেছিল

mysql -u root -p -h127.0.0.1

পাসওয়ার্ড জিজ্ঞাসা যখন

Enter password:

টিপুন

উপরের মতো সবকিছু ঠিক থাকলে এটি কাজ করবে।


2
আমি ম্যাকের জন্য ডকার ব্যবহার করে একটি ডকার ধারক দিয়ে মাইএসকিএল সেটআপ করেছি এবং এর 3306 বন্দরটি ম্যাকে ম্যাপ করি। যোগ না করে -h 127.0.0.1, এটি সর্বদা প্রম্পট Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2); যুক্তি যুক্ত করার পরে, এটি ভালভাবে কাজ করে।
এভি গান

1
এটি কারণ 127.0.0.1 পেরিয়ে যাওয়া সকেটটি ব্যবহার করে না, আমি মনে করি। একটি সংকীর্ণ workaround আরও।
লুকাস মরগান

1
পতাকা mysql -u root -h127.0.0.1 ছাড়াই দৌড়ানো -pআমার পক্ষে কাজ করেছিল, যেহেতু আমি যখন মাইএসকিউএল ইনস্টল করেছি তখন আমি কখনই mysql_secure_installationকমান্ডটি চালাইনি। আমার বোঝা হ'ল এই ক্ষেত্রে ইনস্টলেশন কোনও প্রয়োজনীয় পাসওয়ার্ডের ডিফল্ট হয়।
রিচি টমাস

1
মোহন মত কাজ!
পান্ডুকা ডিসিলভা

10

ঘন্টাখানেক লড়াই করার পরে একমাত্র কাজ যা হয়েছিল

sudo mysql.server start

তারপরে একটি সুরক্ষিত ইনস্টলেশন করুন

mysql_secure_installation 

তারপরে ডিবিতে সংযুক্ত করুন

mysql -uroot -p

মাইএসকিএল হোমব্রিউয়ের মাধ্যমে ইনস্টল করা হয়েছে এবং সংস্করণটি

Server version: 5.7.21 Homebrew

সংস্করণটি নির্দিষ্ট করা সহায়ক হতে পারে কারণ সংস্করণটির ভিত্তিতে সমাধানটি বিভিন্ন হতে পারে।


9

আপনার মাইএসকিএল কনফিগারেশন ফাইলে, যা উপস্থিত রয়েছে /etc/my.cnfনীচে পরিবর্তনগুলি করুন এবং তারপরে mysqldড্যামন প্রক্রিয়া পুনরায় আরম্ভ করুন

[client]
socket=/var/lib/mysql/mysql.sock

পাশাপাশি এই সম্পর্কিত থ্রেড চেক করুন

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


/ ইত্যাদি ডিরেক্টরিতে কোনও my.cnf ফাইল নেই। আমি মনে করি আমি নিজে ফাইলটি তৈরি করতে পারি, কিন্তু আমি যেমন বলেছি / var / lib তে কোনও মাইএসকিএল ডিরেক্টরি নেই, সেখানে সকেট কীভাবে থাকতে পারে?
ব্যবহারকারী3344382

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

আমি ফাইলটি পেয়েছি/etc/mysql/my.cnf
ডিভন

আপনি যদি /tmp/mysql.sock
বারউয়ের

8

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

আপনার মাইএসকিউএল সার্ভারটি কোথায় তালিকাভুক্ত করছে তা পরীক্ষা করুন: নেটস্ট্যাট-এনএলপি যদি এটি টিসিপিতে তালিকাবদ্ধ হয় তবে "লোকালহোস্ট" পরিবর্তে ডিবিতে সংযোগ করার সময় 127.0.0.1 ব্যবহার করুন

মাইএসকিউএল ডকটি এখানে পরীক্ষা করুন


এটি আমার পক্ষে কাজ করে এবং মাইএসকিএল জীবিত তা প্রমাণ করে তবে আমি কেন স্থানীয় সকেটে সংযোগ করতে পারি না?
কলিন ডি

8

এটি আমার জন্য কাজ করে দেখুন।

sudo /usr/local/mysql/support-files/mysql.server start


কেন এই পথ? "কোথায় মাইএসকিএল" কমান্ড (ম্যাক ওএস) ব্যবহার করার সময় /usr/local/mysql/bin/ আউটপুট দিচ্ছে? ম্যাকের এই পথটি কীভাবে চিহ্নিত করা যায়?
ভিনিথ ভাস্করণ

ইয়া, পথ সেই অনুসারে পরিবর্তিত হয়
বাসন্ত ভাসু

4

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

এটি এমন কিছু:

...
[client]
#password   = your_password
port        = 3306
socket      = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
...

তারপরে, জাজানোতে উদাহরণস্বরূপ:

...    
DATABASES = {
        "default": {
            "ENGINE": "django.db.backends.mysql",
            "NAME": "database_name",
            "USER": "user",
            "PASSWORD": "password",
            "HOST": "/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock",
            "PORT": "",
        }
    }
...

আশাকরি এটা সাহায্য করবে.


3

প্রথমত, ডেটা ডিরেক্টরিটি আমার জন্য কোথায় ছিল তা জানা ছিল কী। /usr/local/var/mysql এখানে, আমার স্থানীয় মেশিনের নামের পূর্বে এক্সটেনশন .err সহ কমপক্ষে একটি ফাইল ছিল। এটিতে আমার সনাক্তকরণের জন্য প্রয়োজনীয় সমস্ত তথ্য ছিল।

আমি মনে করি আমি প্রথমে মাইএসকিএল 8 ইনস্টল করে ভুল করেছি। আমার অ্যাপ্লিকেশন এর সাথে সামঞ্জস্যপূর্ণ নয় তাই আমাকে আবার 5.7 এ ডাউনগ্রেড করতে হয়েছিল

আমার সমাধান যা আমার পক্ষে কাজ করেছিল তা ছিল /usr/local/etc/my.cnf এ

এই লাইনটি যদি সেখানে থাকে তবে এটি সন্ধান করুন। আমি মনে করি এটির মাইএসকিএল 8 সম্পর্কিত:

mysqlx-bind-address = 127.0.0.1 

এটি মুছে ফেলুন কারণ মাইএসকিএল ৫.7 এ বলেছেন যে এটি ত্রুটি লগতে পছন্দ করে না

এই লাইনটি সেখানে আবদ্ধ-ঠিকানার অধীনে না থাকলে সেখানে যুক্ত করুন।

socket=/tmp/mysql.sock

/tmpডিরেক্টরিতে যান এবং সেখানে যে কোনও mysql.sock ফাইল মুছুন। সার্ভার শুরুর সময়, এটি সোক ফাইলগুলি পুনরায় তৈরি করবে

বন্ধ হওয়া অবস্থায় মাইএসকিউএল দিয়ে ডেটা ডিরেক্টরি ট্র্যাশ করে ফেলুন। আমার ছিল /usr/local/var/mysql। লগগুলিতে এটি একই স্থান

সেখান থেকে দৌড়ে গেলাম

>mysqld --initialize

তারপরে সবকিছু কাজ শুরু করে ... এই কমান্ডটি আপনাকে শেষে একটি এলোমেলো পাসওয়ার্ড দেবে। পরবর্তী পদক্ষেপের জন্য সেই পাসওয়ার্ডটি সংরক্ষণ করুন

আমার নিজের পাসওয়ার্ড বরাদ্দ করতে এটি চালাচ্ছি।

>mysql_secure_installation 

উভয়

>brew services stop mysql@5.7

এবং

>mysql.server start

এখন কাজ করা হয়। আশাকরি এটা সাহায্য করবে. এটি প্রায় 3 ঘন্টা ট্রায়াল এবং ত্রুটি।



0

আমি এটি করতে প্রচুর সময় ব্যয় করেছি আমি আমার সার্ভারে আমার জাঙ্গো অ্যাপ্লিকেশনটি রাখতে চাই এবং যখন আমি রান python manage.py migrateকরি তখন এই প্রশ্নগুলির সাথে আমার দেখা হয়

এবং!! আমি এটি সেট ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock এটা অবশেষে কাজ!



0

টার্মিনাল থেকে mysql সার্ভারটি থামানো এবং শুরু করা আমার সমস্যার সমাধান করেছে resolved ম্যাকওগুলিতে মাইএসকিএল সার্ভারটি থামাতে এবং শুরু করার জন্য নীচে সিএমডিএস রয়েছে।

sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server start

দ্রষ্টব্য: ম্যাক সিস্টেমের অগ্রাধিকার থেকে পরিষেবাগুলি পুনরায় আরম্ভ করা আমার ম্যাকটিতে সমস্যার সমাধান করেনি। সুতরাং টার্মিনাল থেকে পুনরায় চালু করার চেষ্টা করুন।


0

আপনি যদি ম্যাকোজে চালাচ্ছেন তবে প্রথমে 'সিস্টেমের পছন্দসমূহ' এ গিয়ে মাইএসকিউএল চলছে কিনা তা পরীক্ষা করা সহজ easier


-1

CentOS- র জন্য, মাইএসকিএল-তে ফাইলটি এখানে অবস্থিত:

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