Σφάλματα σύνδεσης βάσης δεδομένων
Τα σφάλματα σύνδεσης βάσης δεδομένων είναι από τα πιο κοινά ζητήματα στις εγκαταστάσεις XOOPS. Αυτός ο οδηγός παρέχει συστηματικά βήματα αντιμετώπισης προβλημάτων για τον εντοπισμό και την επίλυση προβλημάτων σύνδεσης.
Συνήθη μηνύματα σφάλματος
Ενότητα με τίτλο «Συνήθη μηνύματα σφάλματος»# “Δεν είναι δυνατή η σύνδεση στο MySQL server”
Ενότητα με τίτλο «# “Δεν είναι δυνατή η σύνδεση στο MySQL server”»Error: Can't connect to MySQL server on 'localhost' (111)Αυτό το σφάλμα συνήθως υποδεικνύει το MySQL server is not running or not accessible.
# “Απαγορεύεται η πρόσβαση για χρήστη”
Ενότητα με τίτλο «# “Απαγορεύεται η πρόσβαση για χρήστη”»Error: Access denied for user 'xoops_user'@'localhost' (using password: YES)Αυτό υποδεικνύει λανθασμένα διαπιστευτήρια βάσης δεδομένων στη διαμόρφωσή σας.
# “Άγνωστη βάση δεδομένων”
Ενότητα με τίτλο «# “Άγνωστη βάση δεδομένων”»Error: Unknown database 'xoops_db'Η καθορισμένη βάση δεδομένων δεν υπάρχει στο MySQL server.
Αρχεία διαμόρφωσης
Ενότητα με τίτλο «Αρχεία διαμόρφωσης»# XOOPS Θέση διαμόρφωσης
Ενότητα με τίτλο «# XOOPS Θέση διαμόρφωσης»Το κύριο αρχείο ρυθμίσεων βρίσκεται στη διεύθυνση:
/mainfile.phpΒασικές ρυθμίσεις βάσης δεδομένων:
// 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_');Βήματα αντιμετώπισης προβλημάτων
Ενότητα με τίτλο «Βήματα αντιμετώπισης προβλημάτων»# Βήμα 1: Επαληθεύστε το MySQL Service is Running
Ενότητα με τίτλο «# Βήμα 1: Επαληθεύστε το MySQL Service is Running»# Στο Linux/Unix
Ενότητα με τίτλο «# Στο Linux/Unix»# Check if MySQL is runningsudo systemctl status mysql
# Start MySQL if not runningsudo systemctl start mysql
# Restart MySQLsudo systemctl restart mysql# Βήμα 2: Δοκιμή MySQL Connectivity
Ενότητα με τίτλο «# Βήμα 2: Δοκιμή MySQL Connectivity»# Χρήση γραμμής εντολών
Ενότητα με τίτλο «# Χρήση γραμμής εντολών»# Test connection with credentialsmysql -h localhost -u xoops_user -p xoops_db
# If prompted for password, enter it# Success shows: mysql>
# Exit MySQLmysql> EXIT;# Βήμα 3: Επαληθεύστε τα διαπιστευτήρια βάσης δεδομένων
Ενότητα με τίτλο «# Βήμα 3: Επαληθεύστε τα διαπιστευτήρια βάσης δεδομένων»# Ελέγξτε τη διαμόρφωση XOOPS
Ενότητα με τίτλο «# Ελέγξτε τη διαμόρφωση XOOPS»// 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";# Βήμα 4: Βεβαιωθείτε ότι υπάρχει βάση δεδομένων
Ενότητα με τίτλο «# Βήμα 4: Βεβαιωθείτε ότι υπάρχει βάση δεδομένων»# 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;# Βήμα 5: Ελέγξτε τα δικαιώματα χρήστη
Ενότητα με τίτλο «# Βήμα 5: Ελέγξτε τα δικαιώματα χρήστη»# 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;Κοινά ζητήματα και λύσεις
Ενότητα με τίτλο «Κοινά ζητήματα και λύσεις»# Τεύχος 1: MySQL Not Running
Ενότητα με τίτλο «# Τεύχος 1: MySQL Not Running»Συμπτώματα:
- Σφάλμα απόρριψης σύνδεσης
- Δεν είναι δυνατή η σύνδεση με τον localhost
Λύσεις:
# Linux: Check and start MySQLsudo systemctl status mysqlsudo systemctl start mysql# Θέμα 2: Λανθασμένα διαπιστευτήρια
Ενότητα με τίτλο «# Θέμα 2: Λανθασμένα διαπιστευτήρια»Συμπτώματα:
- Σφάλμα “Δεν επιτρέπεται η πρόσβαση”.
- “χρήση κωδικού πρόσβασης: YES” ή “χρήση κωδικού πρόσβασης: ΟΧΙ”
Λύσεις:
# 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');# Θέμα 3: Η βάση δεδομένων δεν δημιουργήθηκε
Ενότητα με τίτλο «# Θέμα 3: Η βάση δεδομένων δεν δημιουργήθηκε»Συμπτώματα:
- Σφάλμα “Άγνωστη βάση δεδομένων”.
- Η εγκατάσταση απέτυχε κατά τη δημιουργία βάσης δεδομένων
Λύσεις:
# 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;"Διαγνωστικό σενάριο
Ενότητα με τίτλο «Διαγνωστικό σενάριο»Δημιουργήστε ένα ολοκληρωμένο διαγνωστικό σενάριο:
<?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";?>Σχετική τεκμηρίωση
Ενότητα με τίτλο «Σχετική τεκμηρίωση»- White-Screen-of-Death - Συνήθης αντιμετώπιση προβλημάτων WSOD
- ../../01-Getting-Started/Configuration/Performance-Optimization - Συντονισμός απόδοσης βάσης δεδομένων
- ../../06-Publisher-Module/User-Guide/Basic-Configuration - Αρχική ρύθμιση XOOPS
- ../../04-API-Reference/Database/XoopsDatabase - Βάση δεδομένων API αναφορά
**Τελευταία ενημέρωση: ** 31-01-2026 Ισχύει για: XOOPS 2.5.7+ PHP Εκδόσεις: 7.4+