ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) Hatası

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 47

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Bu hata mysql'ın kapalı olmasından dolayı kaynaklanır.

Mysql neden kapalı olabilir?
1.Mysql kurulu değildir.
2.Hiç açılmamıştır.
3.Yönetim tabloları zarar görmüştür.


Mysql neden kurulu değildir?
Kurmadıysanız kendi kendini kuracak zeka ve kabiliyete sahip olmadığı için kurulu değildir. Bunlara sahip olsa bile gerekli yetkilere sahip değildir. Bu nedenle lütfen mysql'ı kurun.


Mysql neden hiç açılmamıştır?
"/etc/rc.conf" dosyası içinde otomatik başlatması için gereken startup config yoktur.
Nasıl eklenir?
Ssh(Freebsd) konsoluna bu kodu yazıp enter basın.
echo 'mysql_enable="YES"' >> /etc/rc.conf
yada
ee /etc/rc.conf yazıp enterlayın ve açılan dosyada en alt satıra mysql_enable="YES" yazın.


Yönetim tabloları zarar gördüyse ne yapabilirim?
Mysql'de bulunan Metin2'ye ait veritabanlarının yedeklerini alarak mysql istemcisini kaldırıp tekrar yüklemek en uygun çözüm olacaktır.


Bunlar işe yaramadı başka neler yapabilirim?
Mysql başlatma komutu
service mysql-server start
eğer /etc/rc.conf dosyasında otomatik başlatma komutu yok ise bununla ilgili bir hata verecektir. bu hatayı alırsanız bu komutu deneyin.
service mysql-server onestart


Mysql'ı kapatıp açma(yeniden başlatma) komutu
service mysql-server restart


Eğer service komutu çalışmaz ise service mysql-server yerine /usr/local/etc/rc.d/mysql-server yazabilirsiniz.(Freebsd'in eski sürümlerinde service komutu çalışmaz.)
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Metin2 sunucularında FreeBSD tabanlı sistemlerde geliştirme ve bakım yaparken karşılaşılan yaygın sorunlardan birisi, veritabanı bağlantısı sırasında MySQL ile iletişim kurulamamasıdır. Özellikle FreeBSD ortamında çalışan Metin2 sunucularında, MySQL veya MariaDB servislerinde yaşanan bu hata, sunucu yapılandırmasında ya da soket dosyası yollarında meydana gelen eksikliklerden kaynaklanabilir. Bu yazıda 'ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)' hatasının nedenlerini ve çözümlerini detaylı şekilde ele alacağız.

Hatanın Temel Nedenleri
FreeBSD üzerinde MySQL veya MariaDB servisinin doğru şekilde çalışmaması, soket dosyasının bulunamaması ya da farklı bir konumda olması gibi sebeplerle bu hata oluşur. Özellikle Metin2 sunucularında veritabanı bağlantısı için doğru yapılandırmaların yapılması kritiktir. Bu hata genellikle aşağıdaki durumlarda görülür:

- MySQL veya MariaDB servisi çalışmıyor.
- Soket dosyası doğru konumda değil.
- Uygulama veya Metin2 yapılandırması yanlış soket yolunu gösteriyor.
- Yetki sorunları.

Çözüm Adımları
1. Servis Durumu Kontrolü
FreeBSD üzerinde öncelikle MySQL veya MariaDB servisinin çalışıp çalışmadığını kontrol edin:

Kod:
service mysql-server status

ya da
Kod:
service mariadb-server status


Servis çalışmıyorsa başlatın:

Kod:
service mysql-server start

ya da
Kod:
service mariadb-server start


2. Soket Dosyası Konumunu Belirleme
Çoğu durumda MySQL soketi '/var/run/mysql/mysql.sock' gibi farklı bir konumdadır. Bu nedenle FreeBSD üzerinde Metin2 sunucularında doğru soket konumunu belirlemek gerekir. my.cnf dosyasında socket parametresi kontrol edilmelidir:

Kod:
/usr/local/etc/my.cnf


3. Yapılandırma Dosyası Ayarları
Soket yolunu doğru tanımlamak için my.cnf dosyasında şu ayarlar yapılmalıdır:

Kod:
[client][BR][/BR]socket = /var/run/mysql/mysql.sock[BR][/BR][mysql][BR][/BR]socket = /var/run/mysql/mysql.sock[BR][/BR][mysqld][BR][/BR]socket = /var/run/mysql/mysql.sock


4. Metin2 Sunucu Yapılandırması
Metin2 sunucularında veritabanı bağlantı dosyalarında da soket bilgisi doğru olarak tanımlanmalıdır. Örneğin game/src/db klasöründe bulunan yapılandırma dosyalarında soket yolu belirtilmelidir.

5. Alternatif Çözüm: Symlink Oluşturmak
Eğer soket doğru konumdaysa fakat uygulama '/tmp/mysql.sock' yolunu bekliyorsa, symlink oluşturmak çözüm olabilir:

Kod:
ln -s /var/run/mysql/mysql.sock /tmp/mysql.sock


Güvenlik ve Performans Notları
FreeBSD sistemlerde jail ortamları kullanılıyorsa, soket erişimi jail dışındaki servise bağlı olabilir. Bu durumda jail içinden doğru şekilde bağlanılması sağlanmalıdır. Ayrıca pf gibi güvenlik duvarı yapılandırmalarında veritabanı trafiğine izin verildiğinden emin olunmalıdır.

Sonuç
Metin2 sunucularında FreeBSD kullanılırken, MySQL bağlantısı sırasında karşılaşılan bu hata, genellikle yapılandırma eksikliklerinden kaynaklanmaktadır. Doğru soket yolu, çalışan servis ve yapılandırma dosyalarının uyumlu olması bu hatayı çözmek için yeterlidir. Metin2Lobby olarak, FreeBSD sistemlerdeki Metin2 geliştirme süreçlerinde size yardımcı olmaya devam edeceğiz.


ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
One of the common issues encountered while developing and maintaining Metin2 servers on FreeBSD-based systems is the failure to establish database connections with MySQL. Particularly in FreeBSD environments running Metin2 servers, errors like 'Can't connect to local MySQL server through socket' may arise from misconfigurations or incorrect socket file paths. In this article, we will examine the causes and solutions for the error 'ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)' in detail.

Root Causes of the Error
This error occurs when the MySQL or MariaDB service is not running properly on FreeBSD, or when the socket file cannot be found or exists in a different location. Correct configurations are critical for database connectivity in Metin2 servers. This error typically occurs under the following conditions:

- MySQL or MariaDB service is not running.
- Socket file is located in an incorrect path.
- Application or Metin2 configuration points to the wrong socket path.
- Permission issues.

Solution Steps
1. Check Service Status
Firstly, verify if the MySQL or MariaDB service is running on FreeBSD:

Kod:
service mysql-server status

or
Kod:
service mariadb-server status


If the service is not running, start it:

Kod:
service mysql-server start

or
Kod:
service mariadb-server start


2. Locate the Socket File
In many cases, the MySQL socket is located elsewhere, such as '/var/run/mysql/mysql.sock'. Therefore, identifying the correct socket path is essential on FreeBSD-based Metin2 servers. The 'socket' parameter in the 'my.cnf' file must be checked:

Kod:
/usr/local/etc/my.cnf


3. Configuration File Settings
To define the correct socket path, the following settings should be made in the 'my.cnf' file:

Kod:
[client][BR][/BR]socket = /var/run/mysql/mysql.sock[BR][/BR][mysql][BR][/BR]socket = /var/run/mysql/mysql.sock[BR][/BR][mysqld][BR][/BR]socket = /var/run/mysql/mysql.sock


4. Metin2 Server Configuration
In Metin2 servers, the socket information must also be correctly defined in the database connection files. For example, in the configuration files within the 'game/src/db' folder, the socket path should be specified.

5. Alternative Solution: Creating a Symlink
If the socket is in the correct location but the application expects the path '/tmp/mysql.sock', creating a symlink can serve as a solution:

Kod:
ln -s /var/run/mysql/mysql.sock /tmp/mysql.sock


Security and Performance Notes
When using jail environments on FreeBSD systems, socket access might depend on services outside the jail. In such cases, ensure proper connections from inside the jail. Additionally, make sure that firewall configurations like pf allow database traffic.

Conclusion
When using FreeBSD in Metin2 server environments, errors related to MySQL connections often stem from configuration issues. Ensuring the correct socket path, running service, and compatibility between configuration files will resolve this issue. At Metin2Lobby, we continue to assist you in your Metin2 development processes on FreeBSD systems.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt