মাইএসকিউএল সংযোগ কাজ করছে না: 2002 এর মতো কোনও ফাইল বা ডিরেক্টরি নেই


105

আমি ওয়ার্ডপ্রেস সেট আপ করার চেষ্টা করছি। আমার অ্যাপাচি এবং মাইএসকিউএল চলছে এবং অ্যাকাউন্ট এবং ডাটাবেস সব সেট আপ করা আছে। আমি একটি সহজ সংযোগ করার চেষ্টা করেছি:

<?php
    $conn = mysql_connect('localhost', 'USER', 'PASSWORD');
    if(!$conn) {
        echo 'Error: ' . mysql_errno() . ' - ' . mysql_error();
    }
?>

এবং আমি সর্বদা এটি পাই:

ত্রুটি: 2002 - এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই

এটি কোন ফাইল বা ডিরেক্টরি সম্পর্কে কথা বলতে পারে?

বিল্ট-ইন অ্যাপাচি ব্যবহার করে আমি একটি ওএস এক্স স্নো লেপার্ডে আছি। আমি x86_64 dmg ব্যবহার করে মাইএসকিউএল ইনস্টল করেছি।

আপডেট: আমি দেখতে পেয়েছি যে সকেটটি /tmp/mysql.sock এ রয়েছে, সুতরাং php.ini এ, আমি ভুল পথের সমস্ত ঘটনাকে এর সাথে প্রতিস্থাপন করেছি।


2
আপনি /etc/init.d/mysql startযদি কোনও ডেবিয়ান বেস ডিস্ট্রোতে থাকেন তবে দয়া করে আউটপুট আটকান । যদি ব্যর্থ হয়, /etc/my.cnfসঠিক mysql সকেট ফাইল পাথের জন্য ফাইলটি পরীক্ষা করুন।
sepehr

4
"লোকালহোস্ট" এর জায়গায় "127.0.0.1" ব্যবহার করে এক্সএএমএএমপিপি দিয়ে ওএস এক্সে একই সমস্যাটি সমাধান করুন।
জিউসেপে উরসো

উত্তর:


96

যদি আপনি লিনাক্স ব্যবহার করেন: mysql.sock ফাইলের পথটি ভুল। এটি সাধারণত কারণ আপনি (LAMPP) XAMPP ব্যবহার করছেন এবং এটি /tmp/mysql.sock এ নেই

Php.ini ফাইলটি খুলুন এবং এই লাইনটি সন্ধান করুন:

mysql.default_socket

এবং এটি তৈরি করুন

mysql.default_socket = /path/to/mysql.sock

5
যদি আপনি নিশ্চিত না হন তবে সকেটের নতুন পথ হিসাবে /var/lib/mysql/mysql.sock চেষ্টা করুন।
জে

1
হুম। হতে পারে তাদের অর্থ চিতা বা বাঘ meant যাই হোক না কেন, ওয়ার্ডপ্রেস দিয়ে মজা করুন!
অ্যালেক গর্জে

3
নোট আপনি mysqli.default_sket = /path/to/mysql.sock সেট করার প্রয়োজন হতে পারে যদি mysqli- র সাথে সংযোগ স্থাপন করেন
1911 তে রাজ্জিত

2
মাইএসকিউএল ইনস্টল করার জন্য ডিফল্ট সকেটের অবস্থানটি /tmp/mysql.sock।
জোনাথন হিল

4
"হোস্টনাম লোকালহোস্টের একটি বিশেষ অর্থ রয়েছে Un এটি ইউনিক্স ডোমেন সকেটের ব্যবহারের জন্য আবদ্ধ। - php.net/manual/en/mysqli.quickstart.connections.php । সুতরাং মূলত কিছু ইউনিক্স ডোমেন সকেটে সংযোগ স্থাপনের সাথে কাজ করছে না যা কাজ করতে দেয় localhostএবং টিসিপি / আইপি কাজ করছে তাই এটি টিসিপি / আইপি ঠিকানায় পরিবর্তন করে 127.0.0.1কাজ করবে।
এডওয়ার্ড

154

আমারও একই সমস্যা ছিল এবং এটির 127.0.0.1পরিবর্তে আমার মাইএসকিএল সম্বোধন করে এটি সমাধান করতে সক্ষম হয়েছি localhost

সম্ভবত এটির অর্থ হ'ল আমার হোস্ট সেটআপে আমার কিছু ভুল হয়েছে, তবে এই দ্রুত সমাধানটি এখনই আমার পক্ষে যাচ্ছে।


2
তুমি আমাকে কিছু মূল্যবান সময় বাঁচিয়েছ
uchamp

2
আমি আমার হোস্ট ফাইলটি পরীক্ষা করেছিলাম এবং code127.0.0.1 লোকালহোস্টের সাথে একটি লাইন পেয়েছি code। লোকালহোস্টের মাধ্যমে সংযোগ কেন কাজ করে না সে সম্পর্কে যা আমাকে কৌতূহলী করে তোলে। যদি কেউ আমাকে আলোকিত করতে পারে তবে আমি খুশি হব।
ওলা

2
এটি কারণ php.ini এ mysql.default_sket ভুল। "পিএইচপি-আই | গ্রেপ mysql.default_sket" চালান
জোনা

1
এটি আমার জন্য কাজ করেছে, আমি হোম ক্যারিবের মাধ্যমে এল ক্যাপিটান ডাব্লু / মাইএসকিএল 5.7 ইনস্টল করেছি। আমি একটি ডাব্লুপি ইনস্টল চেষ্টা করছিলাম এবং যখন আমি "লোকালহোস্ট" "" 127.0.0.1 "এ পরিবর্তন করেছি তখন এটি সংযোগ করতে সক্ষম হয়েছিল।
ডিজিগ

5
"হোস্টনাম লোকালহোস্টের একটি বিশেষ অর্থ রয়েছে Un এটি ইউনিক্স ডোমেন সকেটের ব্যবহারের জন্য আবদ্ধ। - php.net/manual/en/mysqli.quickstart.connections.php । সুতরাং মূলত কিছু ইউনিক্স ডোমেন সকেটে সংযোগ স্থাপনের সাথে কাজ করছে না যা কাজ করতে দেয় localhostএবং টিসিপি / আইপি কাজ করছে তাই এটি টিসিপি / আইপি ঠিকানায় পরিবর্তন করে 127.0.0.1কাজ করবে।
এডওয়ার্ড

39

এটি ম্যাপ ওএস এক্সের জন্য অ্যাপাচি এইচটিটিপি এবং মাইএসকিউএল এর কাস্টম ইনস্টলেশন সহ নেটিভ ইনস্টলেশন রয়েছে

উত্তরটি @ অ্যালেক-গর্জের দুর্দান্ত প্রতিক্রিয়ার ভিত্তিতে তৈরি, তবে যেহেতু আমার কনফিগারেশনে এটি বেশিরভাগ ম্যাক ওএস এক্স-নির্দিষ্ট করে কনফিগার করার জন্য আমাকে কিছু নির্দিষ্ট পরিবর্তনগুলি গুগল করতে হয়েছিল, তাই আমি ভেবেছিলাম যে আমি এটি সম্পূর্ণতার জন্য এখানে যুক্ত করব।

অ্যাপাচি HTTP- র জন্য PHP5 সমর্থন সক্ষম করুন

নিশ্চিত করুন যে পিএইচপি 5 সমর্থন সক্ষম হয়েছে /etc/apache2/httpd.conf

পিএইচপি 5_মডিউল মডিউলটি লোড করতে লাইনটি দিয়ে sudo vi /etc/apache2/httpd.conf(জিজ্ঞাসা করার সময় পাসওয়ার্ড লিখুন) এবং অসুবিধা ( ;শুরু থেকে অপসারণ) দিয়ে ফাইল সম্পাদনা করুন ।

LoadModule php5_module libexec/apache2/libphp5.so

অ্যাপাচি এইচটিটিপি দিয়ে শুরু করুন sudo apachectl start(বা restartএটি ইতিমধ্যে শুরু হয়েছে এবং কনফিগারেশন ফাইলটি পুনরায় পড়ার জন্য পুনরায় শুরু করতে হবে)।

নিশ্চিত করুন যে /var/log/apache2/error_logএতে একটি লাইন রয়েছে যা আপনাকে php5_module সক্ষম করার জন্য বলেছে - আপনার PHP/5.3.15(বা অনুরূপ) দেখতে হবে ।

[notice] Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15 with Suhosin-Patch configured -- resuming normal operations

সকেট ফাইলের নাম সন্ধান করা হচ্ছে

যখন মাইএসকিউএল চালু এবং চলমান থাকে (সাথে ./bin/mysqld_safe) সেখানে কনসোলে মুদ্রিত ডিবাগ লাইন থাকা উচিত যা আপনাকে লগ ফাইলগুলি কোথায় খুঁজে পেতে পারে তা জানায়। localhostআমার ক্ষেত্রে - ফাইলের নামের হোস্টনামটি নোট করুন যা আপনার কনফিগারেশনের জন্য আলাদা হতে পারে।

পরে যে ফাইলটি আসে Logging toতা গুরুত্বপূর্ণ। মাইএসকিউএল এটির কাজ লগ করে।

130309 12:17:59 mysqld_safe Logging to '/Users/jacek/apps/mysql/data/localhost.err'.
130309 12:17:59 mysqld_safe Starting mysqld daemon with databases from /Users/jacek/apps/mysql/data

localhost.errফাইলটি খুলুন (আবার আপনার নামটি আলাদা আলাদাভাবে দেওয়া যেতে পারে), অর্থাৎ tail -1 /Users/jacek/apps/mysql/data/localhost.errসকেটের ফাইলের নামটি খুঁজে বের করার জন্য - এটি শেষ লাইন হওয়া উচিত।

$ tail -1 /Users/jacek/apps/mysql/data/localhost.err
Version: '5.5.27'  socket: '/tmp/mysql.sock'  port: 3306  MySQL Community Server (GPL)

socket:অংশটি নোট করুন - এটি আপনার সকেট ফাইলটি ব্যবহার করা উচিত php.ini

মাইএসকিউএল এ লগ ইন করে চলমান সকেটের ফাইলের নাম নির্ধারণের জন্য আরও একটি উপায় রয়েছে (কেউ কেউ সহজ উপায় বলে)

show variables like '%socket%';

মাইএসকিউএল সমর্থন দিয়ে পিএইচপি 5 কনফিগার করছে - /etc/php.ini

Php.ini এর কথা বলছি ...

ইন /etcডিরেক্টরি আছে /etc/php.ini.default ফাইল। এটিকে /etc/php.ini অনুলিপি করুন ।

sudo cp /etc/php.ini.default /etc/php.ini

Mysql.default_sket খুলুন /etc/php.iniএবং সন্ধান করুন ।

sudo vi /etc/php.ini

ডিফল্ট mysql.default_socketহয় /var/mysql/mysql.sock। আপনার আগে এটি যে মান হিসাবে উল্লেখ করা হয়েছে তাতে আপনার এটিকে পরিবর্তন করা উচিত - এটি /tmp/mysql.sockআমার ক্ষেত্রে ছিল।

/etc/php.iniসকেট ফাইলের নাম প্রতিবিম্বিত করতে ফাইলটি প্রতিস্থাপন করুন :

mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

চূড়ান্ত যাচাইকরণ

অ্যাপাচি এইচটিটিপি পুনরায় চালু করুন।

sudo apachectl restart 

পিএইচপি 5 সম্পর্কিত কোনও ত্রুটি না থাকলে লগগুলি পরীক্ষা করুন। কোনও ত্রুটি মানেই যে আপনি করেছেন এবং মাইএসকিউএল সহ পিএইচপি 5 ঠিকঠাক কাজ করা উচিত। অভিনন্দন!


এই উত্তরটি সাহায্য করে
বিগনেশ্বরান

এই উত্তরটি বোকা। এটি জিজ্ঞাসা করা প্রশ্নটির সাথে কোনও সম্পর্ক নেই এবং মূলত এটি কেবলমাত্র (অ্যাকোস) অ্যাম্প টিউটোরিয়াল, যা এখানে রাখলে আরও নষ্ট হয় এবং এমন স্থানে না যেখানে লোকেরা প্রকৃতপক্ষে একটি অ্যাম্প স্ট্যাক স্থাপনের জন্য অনুসন্ধান করে people ম্যাকোস তাকিয়ে আছে। যে প্রশ্নটি জিজ্ঞাসা করা হচ্ছে সে সম্পর্কে: এই উত্তরটি ত্রুটিটি কেন ঘটায় তা ব্যাখ্যা করে না এবং পিএইচপি কেন পরিবর্তে হোস্টনামের পরিবর্তে সকেটের মাধ্যমে সংযোগ স্থাপনের চেষ্টা করে, যদিও এটি পাস করা হয়েছে mysql_connect, যা মূল প্রশ্নের আসল সমস্যা এবং জেনেরিক নয় সফ্টওয়্যার ইনস্টল করার ভুল ধারণা।
ohcibi

@ ওহসিবি আমি লিখেছিলাম "আমি ভেবেছিলাম সম্পূর্ণতার জন্যই আমি এটিকে এখানে যুক্ত করব।" এবং ভেবেছিল এটি যথেষ্ট হবে (এবং কয়েকটি লোক এটি পছন্দ করেছে) উত্তরটি সন্ধান করা সহজ করার জন্য আপনার ধারণাটি আমি পছন্দ করি তবে কীভাবে ডোনো না। আপনি কি আপনার চিন্তা ভাগ করে নিতে পারেন এবং আমাকে ... আবার সাহায্য করতে পারেন? ধন্যবাদ!
জ্যাসেক লাসকোভস্কি

@ জ্যাসেকলাসকোভস্কি সাধারণভাবে: একটি ব্লগ পোস্ট লিখুন এবং আপনার এখানে যে একই অভিপ্রায় ছিল সেটাই গ্রহণীকৃত / সর্বাধিক উন্নত প্রতিক্রিয়াতে এর একটি লিঙ্ক মন্তব্য করুন ("সম্পূর্ণতার জন্য এটি যুক্ত করুন")। তবে এই খুব সুতায় আমি এই লিঙ্কটি পোস্ট করার কোনও কারণও দেখতে পাচ্ছি না। ওপি জানিয়েছে যে তিনি ম্যাকওএস ব্যবহার করছেন তবে এই সমস্যাটির কোনও অপারেটিং সিস্টেমের সাথে নয়, তবে মাইএসকিউএল এর ব্যাখ্যা করার উপায়ের সাথে কিছুই করার নেই localhost। ম্যাকোজে xamp স্থাপনের জন্য সাহায্যের জন্য অনুসন্ধানী কেউ গুগল করে এখানে পাবেন না। সুতরাং আমি শব্দটি 'বোকা' ব্যবহার করেছি। এই থ্রেডটি ম্যাকোসের সাথে তবে কেবল মাইএসকিএল (এমনকি পিএইচপি নয়) এর সাথে কিছুই করার নেই।
ohcibi

14

কনফিগার ফাইলে (ডিবি সংযোগ) 'লোকালহোস্ট' এর পরিবর্তে '127.0.0.1' এ প্রতিস্থাপন করা সাহায্য করেছে!


1
তবে কেন এটি সাহায্য করা উচিত?
এনামুল হাসান

"'লোকালহোস্ট' এর পরিবর্তে '127.0.0.1'" বা 127.0.0.1 এ প্রকৃত মাইএসকিউএল সার্ভারের ঠিকানা যেমন u55151.mysql.someserver.eu এ প্রতিস্থাপন করা হচ্ছে।
ব্যবহারকারী 2812532

13

মাইএসকিএল সার্ভার পুনরায় চালু করা সাহায্য করতে পারে। আমার ক্ষেত্রে, সার্ভারটি পুনরায় চালু করা অনেক সময় সাশ্রয় করেছে।

service mysql restart

PS- sudo service mysql restartনন-রুট ব্যবহারকারীদের জন্য ব্যবহার ।


2
এটি এত দুর্দান্ত যে সাধারণ সমাধানটি আসলে কাজ করে।
আবাল্টার

10

প্রথমে মাইএসকিউএল চলছে তা নিশ্চিত করুন। কমান্ড: mysqld শুরু

যদি আপনি তখনও সংযোগ করতে না পারেন: আপনার /etc/my.cnf দেখতে কেমন? (বা /etc/msyql/my.cnf)

অন্যান্য 2 টি পোস্ট সঠিক যাতে আপনার সকেট পরীক্ষা করা দরকার কারণ 2002 সকেট ত্রুটি।

এলএএমপি স্থাপনের একটি দুর্দান্ত টিউটোরিয়াল হ'ল: http://library.linode.com/lamp-guides/centos-5.3/index-print


ইনস্টলারটি একটি my.cnf ফাইল রাখেনি, তবে সেখানে একটি রয়েছে /usr/local/mysql/mysql-test/include/default_my.cnf, আমি কি এটি মাই সিএনএফ হিসাবে অনুলিপি করব /etc?
এম কে 12

হ্যাঁ, তবে আপনি এটি খুঁজে পেতে পারেন যে এটি আরও পরে পরিবর্তন করতে হবে।
টড মূসা

7

এটি আপনাকে অনেক সাহায্য করে না, তবে মাইএসকিউএলের সাম্প্রতিক সংস্করণগুলিতে (এবং আরও সাম্প্রতিকতম ) ত্রুটি কোড 2002 এর অর্থ "সকেটের মাধ্যমে স্থানীয় মাইএসকিউএল সার্ভারের সাথে সংযুক্ত করা যায় না [নাম-অফ-সকেট]", যাতে এটি আপনাকে বলতে পারে একটু বেশি.


1
উত্স থেকে ইনস্টল করা মাইএসকিউএল 5.5.38 এর সাথে ওএসএক্স 10.9.x এ, আমি এই ত্রুটিটি পেয়েছিলাম। এই টিপটি সঠিক ছিল: এটি সকেট ইস্যু সত্ত্বেও mysqli_connect_errno () এবং mysqli_connect_error ()) 2002 ফাইলটি বার্তা পাওয়া যায় নি বলেছিল। আমি আমার /etc/php.ini সম্পাদনা করে এবং সকেটের মানটি সংশোধন করার জন্য mysql.default_sket এবং mysqli.default_sket সেট করে সমাধান করতে সক্ষম হয়েছি (যেহেতু আমার অ্যাপ্লিকেশন সংযোগগুলির জন্য mysqli ব্যবহার করছে)
রনি

7

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

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

netstat -ln | grep -o -m 1 '/.*mysql.sock'

তারপরে পিএইচপি পাথটি পান :

php -r 'echo ini_get("mysql.default_socket") . "\n";'

এই দুটি কমান্ডের আউটপুট ব্যবহার করে এগুলি লিঙ্ক করুন:

sudo ln -s /actualpath/mysql.sock /phppath/mysql.sock

যদি এটি ফিরে আসে তবে No such file or directoryআপনাকে কেবল পিএইচপি mysql.sock এর পথ তৈরি করতে হবে, উদাহরণস্বরূপ যদি আপনার পথটি /var/mysql/mysql.sockআপনি চালাতেন :

sudo mkdir -p /var/mysql

তারপরে sudo ln কমান্ডটি আবার চেষ্টা করুন ।


6

আমি আপনার php.ini ফাইলটি যাচাই করেছিলাম এবং mysql.default_sket সঠিকভাবে সেট করা আছে তা যাচাই করেছি এবং এটিও যাচাই করতে পারি যে আপনার মাইএসকিএলডি এটি সকেট ফাইলের সাথে সঠিকভাবে কনফিগার করা আছে যা এটি অ্যাক্সেস করতে পারে। সাধারণ ডিফল্ট হ'ল "/tmp/mysql.sock"।


ঠিক আছে, এটি বলে /var/mysql/mysql.sock, তবে সেই পথটির অস্তিত্ব নেই।
এম কে 12

6

আমিও এই সমস্যার মুখোমুখি হয়েছি, তারপরে আমি 'লোকালহোস্ট' কে '127.0.0.1' এ পরিবর্তন করেছি, এটি কাজ করে।


6

আমার ক্ষেত্রে আমার mysqli_connect এ সমস্যা আছে।
যখন আমি
mysqli_connect('localhost', 'myuser','mypassword')
mysqli_connect_error সংযোগ করতে চাই () আমাকে এই ত্রুটিটি ফিরিয়ে দিন "" এরকম কোনও ফাইল বা ডিরেক্টরি নেই "

এটি আমার জন্য কাজ করেছে mysqli_connect('localhost:3306', 'myuser','mypassword')


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

শুনে আনন্দিত :)
masoud2011

4

ত্রুটি 2002 এর অর্থ মাইএসকিউএল সকেট ফাইলের মাধ্যমে স্থানীয় ডাটাবেস সার্ভারের সাথে সংযোগ করতে পারে না (যেমন /tmp/mysql.sock) eg

আপনার সকেট ফাইলটি কোথায় তা জানতে, চালনা করুন:

mysql_config --socket

তারপরে আপনার অ্যাপ্লিকেশনটি সঠিক ইউনিক্স সকেট ফাইলটি ব্যবহার করে বা এটির পরিবর্তে টিসিপি / আইপি পোর্টের মাধ্যমে সংযোগ স্থাপন করে তা পরীক্ষা করে দেখুন।

তারপরে আপনার পিএইচপি-র সঠিক মাইএসকিউএল সকেট সেট আপ আছে কিনা তা ডাবল পরীক্ষা করে দেখুন:

php -i | grep mysql.default_socket

এবং ফাইলটি বিদ্যমান আছে তা নিশ্চিত করুন

সকেট পরীক্ষা:

mysql --socket=/var/mysql/mysql.sock

যদি ইউনিক্স সকেটটি ভুল হয় বা উপস্থিত না থাকে তবে আপনি এটি সিমিলিংক করতে পারেন, উদাহরণস্বরূপ:

ln -vs /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

অথবা আপনার কনফিগারেশন ফাইলটি সংশোধন করুন (যেমন php.ini)।

পিএইচপি থেকে সরাসরি PDO সংযোগ পরীক্ষা করতে , আপনি চালাতে পারেন:

php -r "new PDO('mysql:host=localhost;port=3306;charset=utf8;dbname=dbname', 'root', 'root');"

অ্যাপাচি এবং সিএলআই (কমান্ড-লাইন ইন্টারফেস) এর মধ্যে কনফিগারেশনটিও পরীক্ষা করে দেখুন, কারণ কনফিগারেশনটি পৃথক হতে পারে।

এটি সার্ভারটি চলমান থাকতে পারে তবে আপনি টিসিপি / আইপি পোর্ট, পাইপ নামক বা ইউনিক্স সকেট ফাইলটি ব্যবহার করে সার্ভারটি শুনছেন তার থেকে আলাদা করে সংযোগ দেওয়ার চেষ্টা করছেন। সঠিক করতে --portপোর্ট নম্বর, বা সঠিক নামযুক্ত পাইপ বা ইউনিক্স সকেট ফাইল (উদাহরণস্বরূপ --socketবিকল্প) নির্দেশ করতে আপনাকে ক্লায়েন্ট প্রোগ্রাম (উদাহরণস্বরূপ বিকল্প নির্দিষ্টকরণ ) করতে হবে তা সঠিক করতে correct

দেখুন: মাইএসকিউএলে সংযুক্ত হওয়ার সমস্যা সমাধানের সমস্যা


অন্যান্য ব্যবহার / আদেশগুলি যা সমস্যাটি ট্র্যাক করতে সহায়তা করতে পারে:

  • mysql --socket=$(php -r 'echo ini_get("mysql.default_socket");')
  • netstat -ln | grep mysql
  • php -r "phpinfo();" | grep mysql
  • php -i | grep mysql
  • আপনার সাথে এক্সডিবুগ ব্যবহার xdebug.show_exception_trace=1করুনxdebug.ini
  • ওএস এক্স চেষ্টা করুন sudo dtruss -fn mysqld, লিনাক্স ডিবাগ দিয়েstrace
  • ইউনিক্স সকেটে অনুমতি পরীক্ষা করুন: stat $(mysql_config --socket)এবং যদি আপনার পর্যাপ্ত ফাঁকা জায়গা থাকে ( df -h)।
  • আপনার মাইএসকিউএল পুনরায় চালু করুন।
  • চেক net.core.somaxconn

3

আপনার স্থানীয় সার্ভারটি (এমএএমপি, এক্সএএমপিপি, ডাব্লুএইচএমপি ইত্যাদি) চলমান আছে তা নিশ্চিত করুন।


এগুলি ছাড়াও, আপনি যদি ম্যাকওএসে এমএএমপি ব্যবহার করেন (স্পষ্টতই!) আপনি ঘুম থেকে আপনার ম্যাকটি জাগানোর পরে অবিলম্বে যদি আপনার সাইটে অ্যাক্সেস করেন তবে আপনি এই ত্রুটিটিও পেতে পারেন। সমাধানটি অবশ্যই অপেক্ষা করা এবং আবার চেষ্টা করা। :-)
টেক্সলেট দিন

0

আমারও একই সমস্যা ছিল।
মূলত এখানে সমস্যাটি সম্ভবত মাইএসকিএল চলার দুটি উদাহরণ রয়েছে।
ক) /etc/init.d এ চলমান
খ) প্রদীপটি / অপ্ট / ল্যাম্পে ইনস্টল করা হচ্ছে
সমাধান:
পদক্ষেপ 1: - কম্নাদ "সন্ধান / | গ্রেপ মাইএসকিএলডি" ব্যবহার করে সমস্ত মাইএসকিএল চলমান দৃষ্টান্ত সন্ধান করুন
পদক্ষেপ 2: - চালু থাকা পরিষেবাগুলি বন্ধ করে দিন সার্ভিস মাইএসকিএল স্টপ ব্যবহার করে /etc/init.d
পদক্ষেপ 3: - / অপ্ট / ল্যাম্প / ল্যাম্প পুনরায় চালু করে আপনার প্রদীপ পরিষেবাগুলি পুনরায় চালু করুন

আপনার যেতে ভাল হওয়া উচিত :)


0

একটি ম্যাকের উপর, সমস্ত কঠোর পরিশ্রম করার আগে, কেবল আপনার সেটিংসটি ভিতরে System Preferences > MySQL। প্রায়শই না হওয়ার পরে, আমি দলটিকে এই সমস্যার মধ্যে দিয়ে চলে আসার অভিজ্ঞতা পেয়েছি The MySQL Server Instance is stopped

Start MySQL Serverবোতামটি ক্লিক করুন , এবং যাদু ঘটবে।


0

আমি আমার সার্ভারে পিএইচপি-এফপিএম বা একাধিক পিএইচপি সংস্করণ ব্যবহার করছি। আমার ক্ষেত্রে আমি mysqli মান আপডেট করি যেহেতু MySQL ডিফল্ট সকেট পরামিতি নেই:

mysqli.default_socket

প্রতি :

mysql.default_socket = /path/to/mysql.sock

অ্যালেক গর্জে ধন্যবাদ


0

আমারও একই সমস্যা ছিল। আমার সকেট অবশেষে /tmp/mysql.sock এ পাওয়া গেল। তারপরে আমি সেই পথটি php.ini এ যুক্ত করেছি। মাইএসকিউএল ওয়ার্কবেঞ্চে "সার্ভারের স্থিতি" পৃষ্ঠাটি পরীক্ষা করে সেখানে সকেটটি পেয়েছি। যদি আপনার সকেটটি /tmp/mysql.sock এ না থাকে তবে সম্ভবত মাইএসকিউএল ওয়ার্কব্যাঞ্চ আপনাকে বলতে পারে এটি কোথায়? (অনুমোদিত আপনি মাইএসকিউএল ওয়ার্কবেঞ্চ ব্যবহার করেন ...)


0

আমি ইনস্টলার ব্যবহার করে মাইএসকিউএল ইনস্টল করেছি। আসলে, 'বিন' ডিরেক্টরিটির পাশাপাশি কোনও ডেটা ডিরেক্টরি ছিল না।

সুতরাং, আমি ম্যানুয়ালি "সি: \ প্রোগ্রাম ফাইলগুলি \ মাইএসকিউএল \ মাইএসকিউএল সার্ভার 8.0" এর অধীনে 'ডেটা' ডিরেক্টরি তৈরি করেছি । এবং এটি কাজ করেছে ( https://dev.mysql.com/doc/mysql-windows-excerpt/5.7/en/resetting-permitted-windows.html- এ প্রস্তাবিত মূল পাসওয়ার্ড পরিবর্তন করে ।


0

ডিজিটাল ওশান মাইএসকিএল 2002-এ জাতীয় ফাইল-বা ডিরেক্টরি নেই

ফাইলের এই প্রান্তটি যুক্ত করুন /etc/mysql/my.cnf

[mysqld]
innodb_force_recovery = 1

মাই এসকিএল পুনরায় চালু করুন

service mysql restart


-1

লিনাক্স সার্ভারেও আমার একই সমস্যা ছিল। যা আমাকে সাহায্য করেছে তা হল ' সুডো রিবুট ' কমান্ড, যা লিনাক্স সার্ভারটি রিবুট করতে ব্যবহৃত হয়।


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