Introduction
MySQL ஆனது தரவுத்தள சேவையகத்திற்கான இணைப்புகளை ஒரு socket file, இது ஒரு சிறப்பு வகையான கோப்பு, இது பல்வேறு செயல்முறைகளுக்கு இடையே தொடர்புகளை எளிதாக்குகிறது. The MySQL சேவையகத்தின் socket file mysqld.sock
என்று பெயரிடப்பட்டது மற்றும் Ubuntu systems it’s usually இது பொதுவாக /var/run/mysqld/
directory-ல் சேமிக்கப்படும். இந்த கோப்பு தானாகவே MySQL (service) சேவையால் உருவாக்கப்பட்டது.
# service mysql status
(or) # systemctl status mysql
Output:ERROR 2002 (HY000): Can't connect to local MySQL server through
socket '/var/run/mysqld/mysqld.sock' (2)
இந்த பிழை ஏற்படுவதற்கு சில காரணங்கள் உள்ளன, மேலும் அதை தீர்க்க சில சாத்தியமான வழிகள் உள்ளன.
இந்த பிழையின் ஒரு பொதுவான காரணம் என்னவென்றால், MySQL சேவை நிறுத்தப்பட்டது அல்லது தொடங்கவில்லை (MySQL service is stopped or did not start), அதாவது முதலில் socket file உருவாக்க முடியவில்லை. இந்த பிழையை நீங்கள் காண்பதற்கான காரணம் இதுதான் என்பதை அறிய, systemctl
உடன் சேவையைத் (service) தொடங்க முயற்சிக்கவும்.
பின்னர் மீண்டும் MySQL வரியில் அணுக முயற்சிக்கவும். நீங்கள் இன்னும் பெற்றால், உங்கள் MySQL நிறுவல் socket file தேடும் இடத்தை இருமுறை சரிபார்க்கவும். இந்த தகவலை mysqld.cnf
file காணலாம்:
இந்த file [mysqld]
பிரிவில் socket
parameter (அளவுருவைத்) தேடுங்கள். இது இப்படி இருக்கும்:
. . .
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
. . .
இந்தக் கோப்பை மூடிவிட்டு, MySQL அதைக் கண்டுபிடிக்க எதிர்பார்க்கும் கோப்பகத்தில் ls
கட்டளையை இயக்குவதன் மூலம் mysqld.sock
file இருப்பதை உறுதிப்படுத்தவும்:
socket file இருந்தால், இந்த கட்டளையின் (command’s) வெளியீட்டில் அதைக் காண்பீர்கள்:
Output . .. mysqld.pid mysqld.sock mysqld.sock.lock
கோப்பு இல்லை என்றால், MySQL அதை உருவாக்க முயற்சிக்கிறது, ஆனால் அதற்கான (adequate permissions) போதுமான அனுமதிகள் இல்லை. கோப்பகத்தின் உரிமையை mysql பயனர் மற்றும் குழுவிற்கு (mysql user and group) மாற்றுவதன் மூலம் சரியான அனுமதிகள் உள்ளனவா என்பதை உறுதிசெய்யலாம்:
பின்னர் mysql பயனருக்கு கோப்பகத்தில் உரிய அனுமதிகள் உள்ளதா (appropriate permissions over the directory) என்பதை உறுதிப்படுத்தவும். இவற்றை 775
ஆக அமைப்பது பெரும்பாலான சந்தர்ப்பங்களில் வேலை செய்யும்:
இறுதியாக, MySQL சேவையை மறுதொடக்கம் செய்யவும், அதனால் மீண்டும் socket file உருவாக்க முயற்சி செய்யலாம்:
பின்னர் மீண்டும் ஒருமுறை MySQL prompt அணுக முயற்சிக்கவும். நீங்கள் இன்னும் socket error பிழையை எதிர்கொண்டால், உங்கள் MySQL instance ஒரு ஆழமான சிக்கல் (deeper issue) இருக்கலாம், அப்படியானால் ஏதேனும் தடயங்களை வழங்க முடியுமா என்பதைப் பார்க்க பிழை பதிவை (review the error log) நீங்கள் மதிப்பாய்வு செய்ய வேண்டும்.