Napake povezave z bazo podatkov
Napake v povezavi z bazo podatkov so med najpogostejšimi težavami pri XOOPS namestitvah. Ta priročnik ponuja sistematične korake za odpravljanje težav za prepoznavanje in reševanje težav s povezavo.
Pogosta sporočila o napakah
Section titled “Pogosta sporočila o napakah””Ne morem se povezati s strežnikom MySQL”
Section titled “”Ne morem se povezati s strežnikom MySQL””Error: Can't connect to MySQL server on 'localhost' (111)Ta napaka običajno pomeni, da strežnik MySQL ne deluje ali ni dostopen.
”Uporabniku zavrnjen dostop”
Section titled “”Uporabniku zavrnjen dostop””Error: Access denied for user 'xoops_user'@'localhost' (using password: YES)To kaže na nepravilne poverilnice baze podatkov v vaši konfiguraciji.
”Neznana zbirka podatkov”
Section titled “”Neznana zbirka podatkov””Error: Unknown database 'xoops_db'Navedena zbirka podatkov ne obstaja na strežniku MySQL.
Konfiguracijske datoteke
Section titled “Konfiguracijske datoteke”XOOPS Lokacija konfiguracije
Section titled “XOOPS Lokacija konfiguracije”Glavna konfiguracijska datoteka se nahaja na:
/mainfile.phpKljučne nastavitve baze podatkov:
// 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_');Koraki za odpravljanje težav
Section titled “Koraki za odpravljanje težav”1. korak: Preverite, ali se storitev MySQL izvaja
Section titled “1. korak: Preverite, ali se storitev MySQL izvaja”Na Linux/Unix
Section titled “Na Linux/Unix”# Check if MySQL is runningsudo systemctl status mysql
# Start MySQL if not runningsudo systemctl start mysql
# Restart MySQLsudo systemctl restart mysql2. korak: preizkusite povezljivost MySQL
Section titled “2. korak: preizkusite povezljivost MySQL”Uporaba ukazne vrstice
Section titled “Uporaba ukazne vrstice”# 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. korak: Preverite poverilnice baze podatkov
Section titled “3. korak: Preverite poverilnice baze podatkov”Preverite XOOPS konfiguracijo
Section titled “Preverite XOOPS konfiguracijo”// 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. korak: Preverite, ali zbirka podatkov obstaja
Section titled “4. korak: Preverite, ali zbirka podatkov obstaja”# 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. korak: Preverite uporabniška dovoljenja
Section titled “5. korak: Preverite uporabniška dovoljenja”# 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;Pogoste težave in rešitve
Section titled “Pogoste težave in rešitve”1. težava: MySQL ne deluje
Section titled “1. težava: MySQL ne deluje”Simptomi:
- Napaka zavrnjena povezava
- Ni mogoče vzpostaviti povezave z lokalnim gostiteljem
Rešitve:
# Linux: Check and start MySQLsudo systemctl status mysqlsudo systemctl start mysql2. težava: Napačne poverilnice
Section titled “2. težava: Napačne poverilnice”Simptomi:
- Napaka “Dostop zavrnjen”.
- “z uporabo gesla: YES” ali “z uporabo gesla: NE”
Rešitve:
# 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');Težava 3: Zbirka podatkov ni ustvarjena
Section titled “Težava 3: Zbirka podatkov ni ustvarjena”Simptomi:
- Napaka “Neznana zbirka podatkov”.
- Namestitev ni uspela pri ustvarjanju baze podatkov
Rešitve:
# 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;"Diagnostični skript
Section titled “Diagnostični skript”Ustvarite celovit diagnostični skript:
<?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";?>Povezana dokumentacija
Section titled “Povezana dokumentacija”- White-Screen-of-Death - Pogosta WSOD odpravljanje težav
- ../../01-Getting-Started/Configuration/Performance-Optimization - Uravnavanje delovanja baze podatkov
- ../../06-Publisher-Module/User-Guide/Basic-Configuration - Začetna nastavitev XOOPS
- ../../04-API-Reference/Database/XoopsDatabase - Referenca zbirke podatkov API
Nazadnje posodobljeno: 2026-01-31 Velja za: XOOPS 2.5.7+ PHP Različice: 7.4+