database Bağlantı Hataları
database bağlantı hataları XOOPS kurulumlarında en sık karşılaşılan sorunların başında gelir. Bu kılavuz, bağlantı sorunlarını tanımlamak ve çözmek için sistematik sorun giderme adımları sağlar.
Yaygın Hata Mesajları
Section titled “Yaygın Hata Mesajları””MySQL sunucusuna bağlanılamıyor”
Section titled “”MySQL sunucusuna bağlanılamıyor””Error: Can't connect to MySQL server on 'localhost' (111)Bu hata genellikle MySQL sunucusunun çalışmadığını veya erişilebilir olmadığını gösterir.
”Kullanıcının erişimi reddedildi”
Section titled “”Kullanıcının erişimi reddedildi””Error: Access denied for user 'xoops_user'@'localhost' (using password: YES)Bu, yapılandırmanızdaki yanlış database kimlik bilgilerini gösterir.
”Bilinmeyen database”
Section titled “”Bilinmeyen database””Error: Unknown database 'xoops_db'Belirtilen database MySQL sunucusunda mevcut değil.
Yapılandırma Dosyaları
Section titled “Yapılandırma Dosyaları”XOOPS Yapılandırma Konumu
Section titled “XOOPS Yapılandırma Konumu”Ana yapılandırma dosyası şu konumda bulunur:
/mainfile.phpAnahtar database ayarları:
// Database Configurationdefine('XOOPS_DB_TYPE', 'mysqli');define('XOOPS_DB_HOST', 'localhost');define('XOOPS_DB_PORT', '3306');define('XOOPS_DB_USER', 'xoops_user');define('XOOPS_DB_PASS', 'your_password');define('XOOPS_DB_NAME', 'xoops_db');define('XOOPS_DB_PREFIX', 'xoops_');Sorun Giderme Adımları
Section titled “Sorun Giderme Adımları”Adım 1: MySQL Hizmetinin Çalıştığını Doğrulayın
Section titled “Adım 1: MySQL Hizmetinin Çalıştığını Doğrulayın”Üzerinde Linux/Unix
Section titled “Üzerinde Linux/Unix”# Check if MySQL is runningsudo systemctl status mysql
# Start MySQL if not runningsudo systemctl start mysql
# Restart MySQLsudo systemctl restart mysqlAdım 2: MySQL Bağlantısını Test Edin
Section titled “Adım 2: MySQL Bağlantısını Test Edin”Komut Satırını Kullanma
Section titled “Komut Satırını Kullanma”# Test connection with credentialsmysql -h localhost -u xoops_user -p xoops_db
# If prompted for password, enter it# Success shows: mysql>
# Exit MySQLmysql> EXIT;Adım 3: database Kimlik Bilgilerini Doğrulayın
Section titled “Adım 3: database Kimlik Bilgilerini Doğrulayın”XOOPS Yapılandırmasını kontrol edin
Section titled “XOOPS Yapılandırmasını kontrol edin”// In mainfile.php, verify these constants:echo "Host: " . XOOPS_DB_HOST . "\n";echo "User: " . XOOPS_DB_USER . "\n";echo "Port: " . XOOPS_DB_PORT . "\n";echo "Database: " . XOOPS_DB_NAME . "\n";Adım 4: Veritabanının Varlığını Doğrulayın
Section titled “Adım 4: Veritabanının Varlığını Doğrulayın”# Connect to MySQLmysql -u root -p
# List all databasesSHOW DATABASES;
# Check for your databaseSHOW DATABASES LIKE 'xoops_db';
# If not found, create itCREATE DATABASE xoops_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# ExitEXIT;Adım 5: user İzinlerini Kontrol Edin
Section titled “Adım 5: user İzinlerini Kontrol Edin”# Connect as rootmysql -u root -p
# Check user privilegesSHOW GRANTS FOR 'xoops_user'@'localhost';
# Grant all privileges if neededGRANT ALL PRIVILEGES ON xoops_db.* TO 'xoops_user'@'localhost';
# Reload privilegesFLUSH PRIVILEGES;Yaygın Sorunlar ve Çözümler
Section titled “Yaygın Sorunlar ve Çözümler”Sayı 1: MySQL Çalışmıyor
Section titled “Sayı 1: MySQL Çalışmıyor”Belirtiler:
- Bağlantı reddedildi hatası
- localhost’a bağlanılamıyor
Çözümler:
# Linux: Check and start MySQLsudo systemctl status mysqlsudo systemctl start mysqlSorun 2: Yanlış Kimlik Bilgileri
Section titled “Sorun 2: Yanlış Kimlik Bilgileri”Belirtiler:
- “Erişim reddedildi” hatası
- “şifre kullanılıyor: YES” veya “şifre kullanılıyor: HAYIR”
Çözümler:
# Reset password (as root)mysql -u root -p
# Change user passwordALTER USER 'xoops_user'@'localhost' IDENTIFIED BY 'new_password';
# Update mainfile.phpdefine('XOOPS_DB_PASS', 'new_password');Sayı 3: database Oluşturulmadı
Section titled “Sayı 3: database Oluşturulmadı”Belirtiler:
- “Bilinmeyen database” hatası
- database oluşturma sırasında kurulum başarısız oldu
Çözümler:
# Check if database existsmysql -u root -p -e "SHOW DATABASES;"
# Create database if missingmysql -u root -p -e "CREATE DATABASE xoops_db CHARACTER SET utf8mb4;"Teşhis Komut Dosyası
Section titled “Teşhis Komut Dosyası”Kapsamlı bir teşhis komut dosyası oluşturun:
<?phpecho "=== XOOPS Database Diagnostic ===\n\n";
// Check constants definedecho "1. Configuration Check:\n";echo " Host: " . (defined('XOOPS_DB_HOST') ? XOOPS_DB_HOST : "NOT DEFINED") . "\n";echo " User: " . (defined('XOOPS_DB_USER') ? XOOPS_DB_USER : "NOT DEFINED") . "\n";echo " Database: " . (defined('XOOPS_DB_NAME') ? XOOPS_DB_NAME : "NOT DEFINED") . "\n\n";
// Check PHP MySQL extensionecho "2. Extension Check:\n";echo " MySQLi: " . (extension_loaded('mysqli') ? "YES" : "NO") . "\n\n";
// Test connectionecho "3. Connection Test:\n";try { $conn = new mysqli( XOOPS_DB_HOST, XOOPS_DB_USER, XOOPS_DB_PASS, XOOPS_DB_NAME, XOOPS_DB_PORT );
if ($conn->connect_error) { echo " FAILED: " . $conn->connect_error . "\n"; } else { echo " SUCCESS: Connected to MySQL\n"; echo " Server Info: " . $conn->get_server_info() . "\n"; $conn->close(); }} catch (Exception $e) { echo " EXCEPTION: " . $e->getMessage() . "\n";}
echo "\n=== End Diagnostic ===\n";?>İlgili Belgeler
Section titled “İlgili Belgeler”- Ölümün Beyaz Ekranı - Yaygın WSOD sorun giderme
- ../../01-Getting-Started/Configuration/Performance-Optimization - database performans ayarı
- ../../06-Publisher-Module/User-Guide/Basic-Configuration - İlk XOOPS kurulumu
- ../../04-API-Reference/Database/XoopsDatabase - database API referansı
Son Güncelleme: 2026-01-31 Geçerli olduğu yerler: XOOPS 2.5.7+ PHP Versiyonlar: 7.4+