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


385

MySQL এ সংযোগ দেওয়ার চেষ্টা করে আমার একটি বড় সমস্যা হচ্ছে। আমি যখন চালাচ্ছি:

/usr/local/mysql/bin/mysql start

আমার নিম্নলিখিত ত্রুটি রয়েছে:

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

আমি ডিরেক্টরি mysql.sockঅধীনে আছে /var/mysql

ইন /etc/my.cnfআমার আছে:

[client]
port=3306
socket=/var/mysql/mysql.sock

[mysqld]
port=3306
socket=/var/mysql/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M

এবং /etc/php.iniআমি আছে:

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket = /var/mysql/mysql.sock

আমি অ্যাপাচি ব্যবহার করে আবার শুরু করেছি sudo /opt/local/apache2/bin/apachectl restart

তবে আমার এখনও ত্রুটি আছে।

অন্যথায়, আমি প্রাসঙ্গিক কিনা তা আমি জানি না তবে কখন mysql_config --socketsপাব

--socket         [/tmp/mysql.sock]

53
মাইএসকিউএল চলছে?
ডেভিড

2
এটি অবশ্যই এর সাথে সংযোগ দেওয়ার চেষ্টা করার ত্রুটিটি ব্যাখ্যা করে। @ রোমাইন যেমন উল্লেখ করেছেন, মাইএসকিউএল-এর লগগুলিতে (চেষ্টা করুন /var/log/mysqlবা আশেপাশের কোথাও) এমন কোনও কিছু রয়েছে যা ইঙ্গিত দেয় যে এটি কেন চলছে না? আপনি এটি শুরু করার চেষ্টা করার পরে কি ত্রুটি পান?
ডেভিড

5
আমি একই ত্রুটি পেয়েছিলাম, তবে আমার ক্ষেত্রে, আমি আবিষ্কার করেছি যে মাইএসকিএল শুরু হবে না কারণ ডিস্কটি 100% পূর্ণ ছিল। /var/log/mysqld.log সহায়ক ছিল।
yellavon

4
আমি মনে করি যে এটি চলমান কিনা তা তারা জিজ্ঞাসা করছে, কারণ পরিষেবাটি শুরু হওয়ার পরে সকেট তৈরি করা হয়। আমি মাইএসকিএল ইনস্টল করেছি, তবে পরিষেবাটি আর কখনও শুরু করি নি, তাই। সক ফাইলের অস্তিত্ব নেই। service mysqld startসবেমাত্র ইনস্টল করা থাকলে টাইপ করুন । এইচটি
চাঙ্গোকুন

2
শিম্যানির নীচে উত্তর sudo service mysql startআমাকে বাঁচায়
কিরেন শিভা

উত্তর:


218

যদি আপনার ফাইল my.cnf (সাধারণত / etc / mysql / ফোল্ডারে থাকে) সঠিকভাবে কনফিগার করা থাকে

socket=/var/lib/mysql/mysql.sock

নিম্নলিখিত কমান্ডটি দিয়ে mysql চলছে কিনা তা আপনি পরীক্ষা করতে পারেন:

mysqladmin -u root -p status

আপনার অনুমতিটি মাইএসকিএল ফোল্ডারে পরিবর্তন করার চেষ্টা করুন। আপনি যদি স্থানীয়ভাবে কাজ করে থাকেন তবে আপনি চেষ্টা করতে পারেন:

sudo chmod -R 755 /var/lib/mysql/

এটা আমার জন্য এটি সমাধান


11
আমি উপরের পদক্ষেপগুলি অনুসরণ করে এবং mysqldপরিষেবাটি পুনরায় চালু করার পরে এটি আমাকে সহায়তা করেছিল ।
ঘূর্ণি

11
আপনি 755 এ অনুমতিগুলি সেট করে নিলে সবচেয়ে ভাল হবে যাতে কেবল ডিরেক্টরি মালিক এটিতে লিখতে পারে।
কোডওগল

2
আমার সমস্যাটি হ'ল কেবলমাত্র আমার ওয়েব অ্যাপ্লিকেশনটির জন্য আমার স্টোরেজ ভলিউমের স্থান খুব কম ছিল! ক্লাসিক!
জেমস টি স্নেল

3
আমার ওপেনসুএস 12.3 এ, my.cnf / etc / এ রয়েছে।

আমাদেরও /var/log/mysqld.log এ অনুমতি পরিবর্তন করা উচিত, ধন্যবাদ
আল্লাহবাকাস.জি

94

আপনি কি নিশ্চিত যে আপনি মাইএসকিএল পাশাপাশি মাইএসকিএল সার্ভার ইনস্টল করেছেন ..

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

yum -y install mysql mysql-server (or apt-get install mysql mysql-server)

মাইএসকিউএল পরিষেবাটি সক্ষম করুন:

/sbin/chkconfig mysqld on

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

/sbin/service mysqld start

পরে মাইএসকিউএল রুট পাসওয়ার্ড সেট করুন:

mysqladmin -u root password 'new-password' (with the quotes)

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


আমি brew install mysql
হোমব্রিউ

2
আমি ইতিমধ্যে ক্লায়েন্টটি ইনস্টল করেছিলাম, আমার যে কমান্ডটির প্রয়োজন ছিল sudo apt-get install mysql-serverতা জীবন ভাল ছিল
এরিচবিএসচুল্জ

1
আউটপুট ক্লায়েন্ট Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (38) থেকে না? এটি ক্লায়েন্ট চেষ্টা করে এবং সংযোগ করতে ব্যর্থ হয়েছে, তাই না? (আমি মনে করি এটি স্পষ্ট করার জন্য মূল প্রশ্নটির সম্পাদনা দরকার)।
মিশর

76

আমার জন্য দ্রুত কাজ করার মত কাজ: মাইএসকিএল_কনেক্টে (লোকালহোস্ট) পরিবর্তে স্থানীয় আইপি ঠিকানা (127.0.0.1) ব্যবহার করে দেখুন। এই "ফোর্স" পিএইচপিটিকে ইউনিক্স সকেটের পরিবর্তে টিসিপি / আইপি দিয়ে সংযোগ করতে বাধ্য করে।


এটা কাজ করেছে ... তবে কেন? না মাইএসকিউএল সমাধানে দেয় localhostএবং পেতে 127.0.0.1যাহাই হউক না কেন আগেই সংযোগ করার চেষ্টা?
জাইমে হাবলুটজেল

3
নাহ ... লোকালহোস্ট ব্যবহার করার সময় আপনি কোনও ইন্টারনেট সকেট ব্যবহার করছেন না। আপনি একটি আইপিসি সকেট ব্যবহার করছেন। en.wikedia.org/wiki/Unix_domain_sket । 127.0.0.1 হল স্থানীয় লুপব্যাক যার অর্থ অনুরোধটি আপনার মেশিন থেকে প্রস্থান করবে না তবে এটি টিসিপি / আইপি ব্যবহার করবে ধীর হয়ে উঠছে ...
মাস্টার ইয়োগার্ট

আমার জন্য কাজ করে। আমি উবুন্টু 14.04, এইচএইচভিএম এবং এনজিএনএক্স এ আছি।
মায়কন

1
ধন্যবাদ। এটি আমার পক্ষে কাজ করে তবে ঠিক কী তা উত্তর থেকে আমার কাছে তা স্পষ্ট নয়
নাথান বুয়েজেন্স

আপনি যখন ssh টানেলের মাধ্যমে রিমোট সার্ভারের সাথে সংযুক্ত হন তখন এটিও প্রয়োজনীয়
তম্ম

51

আমি নিম্নলিখিত ত্রুটি পেয়েছি

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

বেশ কয়েকটি উপায়ে চেষ্টা করেছেন এবং অবশেষে এটি নিম্নলিখিত উপায়ে সমাধান করেছেন

sudo gksu gedit /etc/mysql/my.cnf

পরিবর্তিত

#bind-address       = 127.0.0.1

প্রতি

bind-address        = localhost

এবং পুনরায় চালু

sudo /etc/init.d/mysql restart

এটা কাজ করেছে


আমারও একি দশা; ইথারনেট (192.168.220.11) থেকে ওয়াইফাই (192.168.220.12) এ সরানো হয়েছে তবে ইথারনেট আইপি-তে হার্ড-কোডড বাইন্ড-ঠিকানা ছিল। localhostএটি স্থির করতে পরিবর্তন করা হচ্ছে ।
ক্রিস জি

30

আপনি মাইএসকিএলড চালাচ্ছেন তা নিশ্চিত করুন: /etc/init.d/mysql start


3
বা sudo service mysql start|restartউবুন্টুর জন্য।
ওয়াটওয়ার

18

সমস্যাটি দেখা দিতে রোধ করতে, আপনাকে সার্ভারটি বন্ধ করে না দিয়ে কমান্ড লাইন থেকে সার্ভারের কৌতূহলী শাটডাউন করতে হবে।

shutdown -h now

এটি মেশিনটি শক্তি বন্ধ করার আগে চলমান পরিষেবাদিগুলি বন্ধ করে দেবে।

সেন্টোসের উপর ভিত্তি করে, আপনি যখন এই সমস্যায় পড়েন তখন আবার ব্যাক আপ করার জন্য অতিরিক্ত পদ্ধতি হ'ল মাইএসকিএল.সোক:

mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak

service mysqld start

পরিষেবাটি পুনঃসূচনা mqsql.sock নামে একটি নতুন এন্ট্রি তৈরি করে


14

আমার ফাইলটির জন্য ক্রোন জব সেট করার সময় আমি এই ত্রুটিটি পেয়েছি। আমি ফাইলের অনুমতিগুলি 777 এ পরিবর্তন করেছি তবে এটি এখনও আমার পক্ষে কার্যকর হয়নি। অবশেষে আমি সমাধান পেয়েছি। এটি অন্যের জন্য সহায়ক হতে পারে।

এই আদেশ দিয়ে চেষ্টা করুন:

mysql -h 127.0.0.1 -P 3306 -u root -p

মনে রাখবেন যে -হ মানে হোস্ট , -পি মানে পোর্ট এবং -পি মানে পাসওয়ার্ড।


সকেট ব্যবহারের পরিবর্তে টিসিপি / আইপির সাথে সংযোগ জোর করা অদক্ষ (এবং এটি পূর্ববর্তী উত্তর অনুসারে সার্ভারে লোকালহোস্ট টিসিপি / আইপি সমর্থন চালু করা দরকার )) ২০১১ সালের গৃহীত উত্তরটি আরও ভাল: সার্ভারটি কনফিগার করুন যাতে আপনি সঠিকভাবে সকেট ব্যবহার করতে পারেন।
কোয়ান্টিন

10
-pপোর্টের অর্থ এই নয় , এর অর্থ পাসওয়ার্ড , আপনি এটি দিয়ে বিভ্রান্ত করেছেন-P
কোয়ান্টিন


আমার জন্য এটি সঠিক হোস্টটি সংজ্ঞায়িত করার বিষয় ছিল: mysql -h 127.0.0.1 -u root -p
kghbln

12

এখানে অনেক উত্তর দ্বারা দেখা যায়, আপনি মাইএসকিউএল পরিষেবা শুরু করার সময় এই ত্রুটি বার্তায় অনেকগুলি সমস্যা দেখা দিতে পারে। জিনিসটি হ'ল, মাইএসকিউএল সাধারণত ঠিক কী ভুল তা আপনাকে জানায়, যদি আপনি কেবল উপযুক্ত লগ ফাইলটিতে সন্ধান করেন।

উদাহরণস্বরূপ, উবুন্টুতে আপনার চেক করা উচিত /var/log/syslog। যেহেতু প্রচুর অন্যান্য জিনিসও এই ফাইলে লগইন করতে পারে তাই আপনি সম্ভবত grepমাইএসকিএল বার্তাগুলি tailদেখতে এবং কেবল সাম্প্রতিকতমটি দেখার জন্য ব্যবহার করতে চান । সমস্ত একসাথে, এটি দেখতে যেমন হতে পারে:

grep mysql /var/log/syslog | tail -50

আপনার কনফিগারেশনে অন্ধভাবে পরিবর্তন করবেন না কারণ অন্য কেউ বলেছিল 'এটি আমার সিস্টেমে কাজ করে।' আপনার সিস্টেমে আসলে কী কী আছে তা চিত্রিত করুন এবং আপনি আরও দ্রুত আরও ভাল ফলাফল পাবেন।


5
+1 একটি পদক্ষেপ ফিরে নেওয়ার জন্য এবং অন্যান্য উত্তরগুলির মধ্যে অনেকগুলি বিবেচনা করতে ব্যর্থ হয়েছে এমন কিছু উল্লেখ করার জন্য - যেটি আসলে অ্যাপ্লিকেশনটিকে সমস্যা হিসাবে রিপোর্ট করেছে তা দেখার জন্য অন্ধভাবে ছুটে যাওয়া এবং পরিবর্তনগুলি করা যা তার চেয়ে বেশি সম্ভব নয় much এমনকি প্রযোজ্য ...!
স্লাইভেন

আহ, সুতরাং এটি ভুল ব্যবহার করে .cnf। এটি ব্যাখ্যা করে। এখন আমি এলোমেলো জিনিস চেষ্টা করে থামাতে এবং আসল সমস্যাটি সমাধান করতে পারি। ধন্যবাদ।
Synetech

11

অন্য কাজটি হ'ল /etc/my.cnf সম্পাদনা করা এবং [ক্লায়েন্ট] বিভাগে হোস্টকে অন্তর্ভুক্ত করা

 [client]
 #password       = your_password
 host            = 127.0.0.1
 port            = 3306
 socket          = /var/run/mysql/mysql.sock

এবং তারপরে mysql পরিষেবাটি পুনরায় চালু করা হচ্ছে।

এই কর্মক্ষেত্রটি পরীক্ষিত হয়েছিল: সার্ভার সংস্করণ: 5.5.25a-লগ উত্স বিতরণ


[ক্লায়েন্ট] বিভাগটি যুক্ত করার পরামর্শ দেওয়া হয়েছে যদি ইতিমধ্যে my.cnf না থাকে
ক্রিস

7

আমার একই সমস্যা ছিল এবং এটি যখন মাইএসকিএল সার্ভার চলছিল তখন মাইএসকিএল ড্রাইভারগুলির একটি আপডেটের কারণে ঘটেছিল। আমি ঠিক করেছি যে এটি কেবলমাত্র মাইএসকিএল এবং অ্যাপাচি 2 পুনরায় চালু করে:

sudo পরিষেবা mysql স্টপ

sudo পরিষেবা mysql শুরু

sudo পরিষেবা apache2 স্টপ

sudo পরিষেবা apache2 শুরু


আমার ক্ষেত্রে, mysqlচলমান ছিল না। আমি দৌড়ে sudo service mysql startচলমান পরে sudo service mysql statusতা না চলমান ছিল যাচাই করার জন্য।
তাস

6

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

 /etc/init.d/mysqld start

তাই .. বোকা ভুল।


6

যদি সবকিছু ঠিকঠাক কাজ করে এবং আপনি অন্য কিছু করার আগে আপনি এই ত্রুটিটি দেখতে শুরু করেছেন তবে নিশ্চিত হয়ে নিন যে আপনি ডিস্কের জায়গার বাইরে নন:

df -h

যদি mysql.sock তৈরি হচ্ছে ভলিউমটি যদি 100% ব্যবহার করা হয় তবে মাইএসকিএল এটি তৈরি করতে সক্ষম হবে না এবং এটি এই ত্রুটির কারণ হবে। আপনাকে যা করতে হবে তা হ'ল পুরানো লগ ফাইলগুলির মতো এমন কিছু মুছুন যা প্রয়োজন হয় না।



5
sudo service mysql start

এটি আপনার ঠিক কাজ করা উচিত। এমন একটি সম্ভাবনা থাকতে পারে যে আপনি কিছু কমান্ড পরিবর্তন করেছেন যা মাইএসকিএল কনফিগারেশনগুলিকে প্রভাবিত করেছে।


অথবা systemctl start mariadb.serviceফেডোরা 22 বা রেডহ্যাট 7-র পরে রুট পাসওয়ার্ড সেট করা সম্ভব।
জুনিয়র মেহে

5

সেখানে এই সমস্যার অনেক সমাধান আছে কিন্তু আমার এ পরিস্থিতির জন্য, আমি শুধু সংশোধন করা প্রয়োজন DATE তারিখে মেশিন / সার্ভারে ( উবুন্টু 16,04 সার্ভার )।

i) আপনার সার্ভারের তারিখটি পরীক্ষা করে এটি সংশোধন করুন।

ii) চালান sudo /etc/init.d/mysql restart

এটি শুরু করা উচিত।


4

আমি ত্রুটি পাচ্ছিলাম কারণ আমি এমএএমপি চালাচ্ছিলাম এবং আমার .sock ফাইলটি অন্য কোনও স্থানে ছিল। আমি সবেমাত্র একটি প্রতীকী লিঙ্ক যুক্ত করেছি যেখানে অ্যাপ্লিকেশনটি মনে করেছিল যে এটি আসলে যেখানে ছিল সেদিকেই এটি নির্দেশিত হওয়া উচিত এবং এটি একটি কবজির মতো কাজ করেছে worked


প্রতীকী লিঙ্কটি কীভাবে যুক্ত করতে পারবেন যেখানে অ্যাপটি মনে করেছিল যে এটি যেখানে ছিল সেখানে এটিই নির্দেশিত হওয়া উচিত?
গিলবার্তো ইবাররা

4

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

মালিকানা mysql:mysql:

chown mysql:mysql /var/lib/mysql
chown mysql:mysql /var/lib/mysql/ib*
chown mysql:mysql /var/lib/mysql/mydatabase
chown mysql:mysql /var/lib/mysql/mydatabase/*
chown mysql:mysql /var/lib/mysql/mysql/* 

মালিকানা mysql:root:

chown mysql:root /var/lib/mysql/mysql
chown mysql:root /var/run/mysqld 

মালিকানা mysql:adm:

chown mysql:adm /var/log/mysql
chown mysql:adm /var/log/mysql.err
chown mysql:adm /var/log/mysql.log* 

4

আমার জন্য - এটি কেবল মাইএসকিউএল লোড হতে দীর্ঘ সময় নিয়েছিল case আমার একটি ডাটাবেসে আমার 100,000 এরও বেশি টেবিল রয়েছে এবং এটি শেষ পর্যন্ত শুরু হয়েছিল তবে অবশ্যই এই পরিস্থিতিতে দীর্ঘ সময় নিতে হবে।


3

আপনি যদি এডাব্লুএস (অ্যামাজন ওয়েব সার্ভিসেস) মাইক্রো সংস্করণ ব্যবহার করেন তবে এটি একটি মেমরির সমস্যা। আমি যখন দৌড়েছি

mysql

টার্মিনাল থেকে এটি বলবে

ERROR 2002 (HY000): Can't connect to local MySQL server through socket /var/run/mysqld/mysqld.sock' (111)

সুতরাং আমি নিম্নলিখিতটি চেষ্টা করেছিলাম এবং এটি কেবল ব্যর্থ হবে।

service mysqld restart

অনেক খোঁজাখুঁজির পরে আমি জানতে পেরেছিলাম যে মাইএসকিউএল-তে পর্যাপ্ত মেমরি থাকার জন্য আপনাকে একটি সোয়াপ ফাইল তৈরি করতে হবে। নির্দেশাবলী তালিকাভুক্ত করা হয়েছে: http://www.prowebdev.us/2012/05/amazon-ec2-linux-micro-swap-space.html

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


আমার এডাব্লুএস সার্ভার "মাইক্রো" উদাহরণটিতে একই সমস্যা ছিল এবং আমি নিশ্চিত করতে পারি যে সোয়াপ ফাইলটি ডিআইডি তৈরির ফলে "ERROR 2002 (HY000) ঠিক করা যায়: সকেট / var / রান / mysqld / mysqld- এর মাধ্যমে স্থানীয় মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করা যায় না confirm .sock '(111) "সমস্যা। ধন্যবাদ @ jth_92!
কোনারস

3

আপনি পছন্দসই --socketবিকল্পটি ব্যবহার করে mysql.sock ফাইলের অবস্থান নির্দিষ্ট করে mysql সার্ভারটি শুরু করতে পারেন

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

সকেট ফাইলের অবস্থানটি my.cnf ফাইলে ভিন্ন স্থানে নির্দিষ্ট করে থাকলেও এটি কাজ করবে।


3

যাদের কোনও সমাধান কার্যকর হয়নি, তাদের জন্য চেষ্টা করুন:

cd /etc/mysql

my.cnf উপস্থিত কিনা তা পরীক্ষা করুন

nano my.cnf

এবং নিশ্চিত করুন যে নীচের মত আপনার কাছে কেবল একটি বাইন্ড ঠিকানা রয়েছে:

বাইন্ড-ঠিকানা = 127.0.0.1

যদি তা না হয় তবে সমস্যাটি হতে পারে, কেবল ন্যানো থেকে প্রস্থান করুন এবং ফাইলটি সংরক্ষণ করুন।

এবং service mysql start

মনে রাখবেন যে আপনার যদি ন্যানো না থাকে (এটি একটি টেক্সট এডিটর) কেবল এটির সাথে ইনস্টল করুন apt-get install nanoএবং একবার প্রস্থান করতে Ctrl + X টিপুন, একই ফাইলটি সংরক্ষণ করতে এবং ব্যবহার করতে ওয়াই বলতে ভুলবেন না)


দুর্ভাগ্যক্রমে এটি কার্যকর হয়নি। এটি মূলত ঠিক বলেছে যে কেবল স্থানীয় মেশিনই মাইএসকিএল অ্যাক্সেস করতে পারে। কোনও দূরবর্তী সংযোগ নেই।
স্টিফেন

3

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

/usr/sbin/mysqld --verbose --help 1>/dev/null

আমার একটি ত্রুটি ঘটেছে যা প্রদর্শিত হয়েছিল:

160816 19:24:33 [Note] /usr/sbin/mysqld (mysqld 5.5.50-0ubuntu0.14.04.1-log) starting as process 9461 ...
160816 19:24:33 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
160816 19:24:33 [Note] Plugin 'FEDERATED' is disabled.
160816 19:24:33 [ERROR] /usr/sbin/mysqld: unknown variable 'innodb-online-alter-log-max-size=4294967296'
160816 19:24:33 [ERROR] Aborting

একটি সরল grep -HR "innodb-online-alter-log-max-size" /etc/mysql/আমাকে ঠিক কী ফাইলটিতে আপত্তিজনক লাইনটি অন্তর্ভুক্ত ছিল তাই আমি সেই লাইনটি ফাইল থেকে সরিয়েছি।

তারপরে, আমার /var/log/mysql/error.logফাইলটি যাচাই করেছিলাম :

InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 671088640 bytes!
160816 22:46:46 [ERROR] Plugin 'InnoDB' init function returned error.
160816 22:46:46 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
160816 22:46:46 [ERROR] Unknown/unsupported storage engine: InnoDB
160816 22:46:46 [ERROR] Aborting

এই প্রশ্নের ভিত্তিতে গ্রহণযোগ্য সমাধান কাজ করবে না কারণ আমি এমনকি সার্ভারটি শুরু করতে পারি না, তাই আমি মন্তব্যগুলির কিছু যা বলেছিলাম তা অনুসরণ করে আমার /var/lib/mysql/ib_logfile0এবং/var/lib/mysql/ib_logfile1 ফাইলগুলি ।

এটি সার্ভারটি শুরু করার অনুমতি দেয় এবং আমি কোয়েরিগুলি সংযুক্ত করতে এবং সম্পাদন করতে সক্ষম হয়েছি, তবে আমার ত্রুটি লগ ফাইলটি পরীক্ষা করে এটি দ্রুত কয়েক হাজার কয়েক লাইনের সাথে পূর্ণ হয়ে উঠছিল:

160816 22:52:15  InnoDB: Error: page 1415 log sequence number 82039318708
InnoDB: is in the future! Current system log sequence number 81640793100.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: for more information.

এখান থেকে প্রাপ্ত পরামর্শের ভিত্তিতে , এটিকে ঠিক করার জন্য আমি একটি মাইএসকিএলড্প করেছি এবং সমস্ত ডাটাবেস পুনরুদ্ধার করেছি (বেশ কয়েকটি অন্যান্য সমাধানের লিঙ্কটি দেখুন)।

$ mysqldump -u root -p --allow-keywords --add-drop-database --comments --hex-blob --opt --quote-names --databases db_1 db_2 db_3 db_etc > backup-all-databases.sql
$ mysql -u root -p < backup-all-databases.sql

সবকিছু প্রত্যাশার মতো কাজ করছে বলে মনে হচ্ছে।


চেকিং /var/log/mysql/error.logআমার ক্ষেত্রে সহায়তা করেছে। সেখানে ছিল [ERROR] Can't init tc log: দ্রুত নিম্নলিখিত উত্তর ব্যবহার সংশোধন হয়েছিল dba.stackexchange.com/a/185006/163583
Juraj.Lorinc

2

যোগ করার পদ্ধতি

--protocol=tcp 

আপনার সংযোগের প্রার্থীদের তালিকায় আমার পক্ষে কাজ হয়েছিল।



2

আমি আজ এই ইস্যু মধ্যে দৌড়ে। এর উত্তরের কোনওটিই ঠিক করে নি। আমার মাইএসকিএল পরিষেবা শুরু করার জন্য আমাকে নিম্নলিখিত কমান্ডগুলি (এখানে https://stackoverflow.com/a/20141146/633107 পাওয়া গেছে ) করা দরকার:

sudo /etc/init.d/mysql stop
cd /var/lib/mysql/
ls ib_logfile*
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak
... etc ...
/etc/init.d/mysql restart

এটি আংশিকভাবে /var/log/mysql/error.log এ নিম্নলিখিত ত্রুটিগুলি দ্বারা নির্দেশিত হয়েছিল:

140319 11:58:21 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 50331648 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
140319 11:58:21 [ERROR] Plugin 'InnoDB' init function returned error.
140319 11:58:21 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140319 11:58:21 [ERROR] Unknown/unsupported storage engine: InnoDB
140319 11:58:21 [ERROR] Aborting

আমি ডিস্ক সম্পূর্ণ ত্রুটি দেখতে পেয়েছি, কিন্তু শুধুমাত্র sudo ছাড়া কমান্ড চালানোর সময়। অনুমতিগুলি চেক করতে ব্যর্থ হলে, এটি ডিস্ক পূর্ণ প্রতিবেদন করে (এমনকি আপনার পার্টিশনটি সম্পূর্ণর কাছাকাছি না থাকলেও)।


2

CentOS 7, 64 বিট। নতুন ইনস্টলেশন।
আমার ক্ষেত্রে, ত্রুটিটি কারণ আমার সঠিক মাইএসকিউএল সার্ভার এবং মাইএসকিউএল ক্লায়েন্ট ইনস্টল করা হয়নি।
ব্যবহার করে yum, আমি সরিয়েছি mariadbএবং মাইএসকিএল-সম্প্রদায় সংস্করণ। আমি অফিসিয়াল মাইএসকিউএল ওয়েবসাইট থেকে ক্লায়েন্ট এবং সার্ভারের জন্য আরপিএম ডাউনলোড করেছি এবং সার্ভার এবং ক্লায়েন্ট ইনস্টল করেছি।

সার্ভারটি ইনস্টল করার সময়, আমাকে একটি বার্তা দেখানো হয়েছিল যে মাইএসকিউএলের রুট অ্যাকাউন্টের পাসওয়ার্ডটি এমন একটি ফাইলে সঞ্চিত ছিল যা আমি দেখতে পেলাম sudo cat /root/.mysql_secret

সুতরাং ক্লায়েন্ট এবং সার্ভারটি ইনস্টল করার পরে, আমি কমান্ডটি দিয়ে মাইএসকিউএল (আমি মনে করি এটি করার আগে আমি রিবুট করেছি) পরীক্ষা sudo service mysql statusকরেছিলাম এবং ফলাফল পেয়েছি।

মাইএসকিউএল চলছে (2601) [ঠিক আছে]

আমি .mysql_secret ফাইল থেকে পাসওয়ার্ড ব্যবহার করে মাইএসকিউএল লগ:
mysql -uroot -pdxM01Xfg3DXEPabpf। মনে রাখবেন যেdxM01Xfg3DXEPabpf .mysql_secret ফাইলে উল্লিখিত পাসওয়ার্ড।

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

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('somePassword');

তখন থেকে সবকিছু ঠিকঠাক কাজ করেছে।


1
সার্ভার সংস্করণ সহ RHEL6U6 এ একই কেস: 5.6.23-এন্টারপ্রাইজ-বাণিজ্যিক-উন্নত।
এইচসিডি

2
sudo service mysqld start

আমার জন্য কাজ, আমি Centos ব্যবহার করছি


2

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


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

আপনার অ্যাকাউন্টের মাইএসকিউএল ডাটাবেস উদাহরণের সাথে সংযোগের জন্য আপনার যে অফিশিয়াল হোস্ট নামটি ব্যবহার করা উচিত তা mysql.server থেকে yourusername .mysql.pythonanywhere- Services.com এ পরিবর্তিত হয়েছে । এটি আমাদের অবকাঠামোর একটি অংশকে বাইপাস করে যা সাম্প্রতিক সপ্তাহগুলিতে সমস্যা দেখাতে শুরু করেছে এবং এটি পুরানো পদ্ধতির চেয়ে অনেক বেশি দক্ষ এবং নির্ভরযোগ্য হওয়া উচিত।

অতএব, আপনার উপরের হাইলাইট করা মানটিতে আপনার হোস্টনামটি আপডেট করতে হবে।


2

আমি সবেমাত্র এই সমস্যা ছিল। একদিন যাচাইয়ের পরে অবশেষে উত্তরটি পেয়ে গেলাম যে মারিয়াডিবি শুরু হওয়ার পরে মাইএসএইচএল.সক ফাইলটি তৈরি হয় এবং মারিয়াডিবি বন্ধ হয়ে গেলে অপসারণ করা হয়। মারিয়াডিবি চালু না থাকলে এটির অস্তিত্ব থাকবে না। সম্ভবত আপনি মারিয়াডিবি ইনস্টল করেন নি। আপনি নীচে নির্দেশিকা অনুসরণ করতে পারেন: https://www.linode.com/docs/databases/mariadb/how-to-install-mariadb-on-centos-7 সেরা


1

আমার এই সকেট ত্রুটি ছিল এবং এটি মূলত মাইএসকিউএল চলছিল না এ নেমে এসেছিল। আপনি যদি একটি নতুন ইনস্টল পরিচালনা করেন তবে নিশ্চিত হয়ে নিন যে আপনি 1) সিস্টেম প্যাকেজটি ইনস্টল করেছেন এবং 2) প্যানেল ইনস্টলার (mysql.prefPane)। প্যানেল ইনস্টলারটি আপনাকে আপনার সিস্টেমের পছন্দগুলি এবং মাইএসকিউএল খোলার অনুমতি দেয় এবং তারপরে একটি দৃষ্টান্ত চলতে পারে।

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

আরও লক্ষণীয়, আমার স্পষ্টতই মাইএসকিউএল এর পূর্ববর্তী সংস্করণগুলি ইনস্টল ছিল তবে প্যানেলটি সরিয়ে ফেলেছে, যা ম্যাক ব্যবহারকারীদের জন্য মাইএসকিউএল চালানোর উদাহরণ পেতে সহজ করে তোলে।

পুনরায় ইনস্টল করার এই প্রক্রিয়াটির জন্য একটি ভাল লিঙ্ক: http://www.coolestguyplanettech.com/how-to-install-php-mysql-apache-on-os-x-10-6/

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