THE ORB
Studio başlatılıyor

Veritabanı bağlantısı başarısız (oxmysql / mysql-async)

Sunucun veritabanına ulaşamıyor. Bu düzelene kadar kaydeden ya da yükleyen hiçbir şey çalışmaz.

groupsHiçbir şey kaydedilmiyor ya da yüklenmiyorpersonBunu düzeltebilirsin

Önce şunu yap

Veritabanının çalıştığını ve server.cfg içindeki bağlantı satırında doğru kullanıcı adı ile parolanın olduğunu kontrol et.

bug_reportBunun yerine tüm konsolunu yapıştır

Ne anlama gelir

Veritabanı katmanı MySQL'e ulaşamadı, ya da ulaştı ve reddedildi. Bu düzelene kadar her kaynaktaki her sorgu başarısız olur, o yüzden bunun altındaki bir duvar dolusu ilgisiz veritabanı hatası beklenen bir şeydir ve şimdilik okumaya değmez.

Hangi yarının başarısız olduğunu node hata kodu söyler:

ECONNREFUSED — ana makineye ulaşıldı, o portta dinleyen yok

ETIMEDOUT — ana makineye hiç ulaşılamadı (güvenlik duvarı, yanlış IP)

ENOTFOUND / getaddrinfo — ana makine adı çözülmüyor

ER_ACCESS_DENIED_ERROR — MySQL'e ulaşıldı, kullanıcı ya da parola yanlış

ER_BAD_DB_ERROR — bağlanıldı, ama o veritabanı yok

Neden olur

Ne sıklıkla doğru cevap olduğuna göre sıralı.

  1. 1

    MySQL çalışmıyor

    Yerel bir makinede yeniden başlatmadan sonra, ya da servisin hiç etkinleştirilmediği yeni bir kutuda en yaygınıdır.

  2. 2

    Bağlantı metni yanlış ya da bozuk

    set mysql_connection_string tek satır olmalı, server.cfg içinde, onu kullanan kaynaklardan önce. İki biçim de çalışır ama noktalı virgüllü biçim boşluklar konusunda affetmez:

    set mysql_connection_string "mysql://user:password@localhost/database?charset=utf8mb4"
  3. 3

    Özel karakterli, kaçırılmamış bir parola

    Parola içindeki @, :, / ve # URI biçimini bozar. Onları yüzde ile kodla ya da anahtar/değer biçimini kullan.

  4. 4

    Kullanıcının bu ana makineden hakkı yok

    MySQL yetkileri ana makine başınadır. user@localhost olarak oluşturulmuş bir kullanıcı, doğru parolayla bile başka bir makineden bağlanamaz.

  5. 5

    Veritabanı henüz yok

    Bağlantı başarılı olur ve USE başarısız olur. Framework'ün SQL'i hiç içe aktarılmamıştır.

Hangisinin seninki olduğu nasıl anlaşılır

Cümleyi değil, kodu oku. Sonra aynı makineden aynı kimlik bilgileriyle bağlanmayı dene:

mysql -h 127.0.0.1 -u kullanicin -p veritabanin

Bu da başarısız olursa sorun FiveM değil MySQL'dir. MySQL yetkilerinde localhost ile 127.0.0.1 birbirinin yerine geçmez, unutma.

Nereye bakmalı

server.cfg, set mysql_connection_string satırı, ve oxmysql'in sorgu yapan her şeyden önce ensure edilip edilmediği.

Nasıl düzeltilir

# server.cfg — veritabanına dokunan her kaynaktan önce
set mysql_connection_string "mysql://fivem:pass@127.0.0.1/fivem?charset=utf8mb4"
ensure oxmysql

Uzaktaysa kullanıcıya düzgün yetki ver:

CREATE USER 'fivem'@'%' IDENTIFIED BY 'pass';
GRANT ALL PRIVILEGES ON fivem.* TO 'fivem'@'%';
FLUSH PRIVILEGES;

Hâlâ kendi kodunda mı takıldın?

Bu sayfa, bu hatanın genelde ne anlama geldiğini anlatır. Konsolunu Server Fixer'a yapıştır; içindeki her şeyi sıraya dizer ve önce ne yapman gerektiğini söyler. Kendin uğraşmak istemiyorsan ORBIE script'i onarır ve kaynağı sunucuna atmaya hazır geri verir.

bug_reportServer Fixer'ı aç

Bu tür bir hata için Script Optimizer buna yol açan sorgu kalıplarını yakalar.

Bununla birlikte gelen hatalar