Ugrás a fő tartalomhoz

Adminer - Adatbázis kezelő

Az Adminer (korábban phpMinAdmin) egy teljes funkcionalitású adatbázis-kezelő eszköz egyetlen PHP fájlban. A phpMyAdmin legnépszerűbb alternatívája, amely egyszerűbb, gyorsabb és biztonságosabb.

Miért válaszd az Adminer-t?
  • Egyetlen fájl - ~470 KB, nincs bonyolult telepítés
  • Multi-database - MySQL, PostgreSQL, SQLite, MS SQL, Oracle, MongoDB
  • Biztonságosabb - A phpMyAdmin-nál jobb biztonsági megoldások
  • Gyorsabb - Kevesebb erőforrásigény, jobb teljesítmény
  • Magyar nyelv - Teljes magyar fordítás elérhető

Adminer vs phpMyAdmin

SzempontAdminerphpMyAdmin
Telepítés1 fájl feltöltéseKomplex telepítés
Méret~470 KB~13 MB+
Multi-DBIgen (8+ motor)Csak MySQL/MariaDB
BiztonságPrioritás #1Gyakoribb sebezhetőségek
FelületLetisztult, modernZsúfolt
View szerkesztésEgyszerű, intuitívBonyolult
SebességGyorsabbLassabb

Támogatott adatbázisok

AdatbázisTámogatás
MySQLNatív
MariaDBNatív
PostgreSQLNatív
SQLiteNatív
MS SQL ServerNatív
OracleNatív
ElasticsearchNatív
MongoDBNatív

Telepítés

Egyszerű telepítés

  1. Töltsd le az Adminer-t: adminer.org
  2. Nevezd át (ajánlott biztonsági okokból): adminer.phpdb-manager.php
  3. Töltsd fel a webszerveredre
  4. Nyisd meg böngészőben: https://example.com/db-manager.php

Letölthető verziók

VerzióLeírásMéret
adminer.phpTeljes verzió (minden DB)~470 KB
adminer-mysql.phpCsak MySQL/MariaDB~380 KB
adminer-en.phpCsak angol nyelv~400 KB
adminer-mysql-en.phpMySQL + angol~320 KB

WordPress mellé telepítés

Ha WordPress mellett használod, a legbiztonságosabb megoldás egy külön, védett mappába helyezni:

# Mappa struktúra
public_html/
├── wp-content/
├── wp-admin/
├── db-tools/ # Külön mappa az Adminer-nek
│ ├── adminer.php
│ └── .htaccess # Védelem
└── wp-config.php

.htaccess védelem:

# db-tools/.htaccess
AuthType Basic
AuthName "Database Tools - Restricted Access"
AuthUserFile /home/user/.htpasswd
Require valid-user

# Csak bizonyos IP-ről engedélyezés (opcionális)
# Order Deny,Allow
# Deny from all
# Allow from 192.168.1.100

.htpasswd generálás:

# Online generátor vagy parancssorból:
htpasswd -c /home/user/.htpasswd admin

Használat részletesen

Bejelentkezés

  1. Nyisd meg az Adminer URL-t a böngészőben
  2. A bejelentkezési képernyőn töltsd ki:
MezőLeírásPélda
RendszerAdatbázis típusaMySQL
SzerverAdatbázis szerver címelocalhost vagy 127.0.0.1
FelhasználóDB felhasználónévwp_user
JelszóDB jelszó********
AdatbázisAdatbázis neve (opcionális)wordpress_db
  1. Kattints a Belépés gombra
WordPress adatbázis adatok

A WordPress adatbázis adatait a wp-config.php fájlban találod:

define('DB_NAME', 'adatbazis_neve');
define('DB_USER', 'felhasznalo');
define('DB_PASSWORD', 'jelszo');
define('DB_HOST', 'localhost');

Adatbázis műveletek

Adatbázis kiválasztása

Bejelentkezés után látod az összes elérhető adatbázist. Kattints a kívánt adatbázis nevére a megnyitáshoz.

Új adatbázis létrehozása

  1. A bal oldali menüben kattints az Adatbázis létrehozása linkre
  2. Add meg az adatbázis nevét
  3. Válaszd ki a karakterkészletet (ajánlott: utf8mb4_unicode_ci)
  4. Kattints a Mentés gombra

Adatbázis törlése

  1. Válaszd ki az adatbázist
  2. Kattints az Adatbázis eldobása linkre
  3. Erősítsd meg a törlést
Figyelem!

Az adatbázis törlése visszafordíthatatlan művelet! Mindig készíts biztonsági mentést előtte.


Táblák kezelése

Táblák listázása

Az adatbázis kiválasztása után látod az összes táblát:

  • Tábla neve - Kattintható, megnyitja a tábla tartalmát
  • Motor - InnoDB, MyISAM stb.
  • Sorok - Rekordok száma
  • Méret - Tábla mérete

Új tábla létrehozása

  1. Kattints a Tábla létrehozása linkre
  2. Add meg a tábla nevét
  3. Definiáld az oszlopokat:
BeállításLeírás
OszlopOszlop neve (pl. id, name)
TípusAdattípus (INT, VARCHAR, TEXT, DATETIME stb.)
HosszMaximális hossz (VARCHAR esetén)
NULLEngedélyezett-e a NULL érték
AIAuto Increment (automatikus növelés)
AlapértelmezettDefault érték
  1. Állítsd be az elsődleges kulcsot (Primary Key)
  2. Kattints a Mentés gombra

Példa WordPress-szerű tábla:

OszlopTípusHosszNULLAIMegjegyzés
idBIGINT20NemIgenElsődleges kulcs
titleVARCHAR255Nem-Cím
contentLONGTEXT-Igen-Tartalom
statusVARCHAR20Nem-Állapot
created_atDATETIME-Nem-Létrehozás dátuma

Tábla szerkezetének módosítása

  1. Kattints a tábla nevére
  2. Kattints a Szerkezet módosítása linkre
  3. Itt tudsz:
    • Új oszlopot hozzáadni
    • Meglévő oszlopot módosítani
    • Oszlopot törölni
    • Oszlopok sorrendjét változtatni
  4. Kattints a Mentés gombra

Tábla átnevezése

  1. Kattints a Szerkezet módosítása linkre
  2. Írd át a tábla nevét a felső mezőben
  3. Kattints a Mentés gombra

Tábla törlése

  1. Válaszd ki a táblát
  2. Kattints a Tábla eldobása linkre
  3. Erősítsd meg

Tábla ürítése (TRUNCATE)

  1. Válaszd ki a táblát
  2. Kattints a Tábla kiürítése linkre
  3. Erősítsd meg
Különbség a törlés és ürítés között
  • Eldobás (DROP) - Törli a táblát és annak szerkezetét is
  • Kiürítés (TRUNCATE) - Csak az adatokat törli, a szerkezet megmarad, az AUTO_INCREMENT nullázódik

Adatok kezelése

Adatok megtekintése

  1. Kattints a tábla nevére
  2. Megjelenik az összes rekord táblázatos formában
  3. Használd a lapozást nagy táblák esetén

Adatok szűrése

A tábla megtekintésekor a Szűrés gombbal tudsz keresni:

  1. Válaszd ki az oszlopot
  2. Válaszd ki az operátort (=, LIKE, >, <, IN stb.)
  3. Add meg az értéket
  4. Kattints a Szűrés gombra

Gyakori szűrési példák:

CélOszlopOperátorÉrték
Publikált bejegyzésekpost_status=publish
Cím tartalmazzapost_titleLIKE%wordpress%
2024 után létrehozottpost_date>2024-01-01
Adott szerzőpost_author=1

Adatok rendezése

Kattints az oszlop fejlécére a rendezéshez:

  • Első kattintás: növekvő sorrend (ASC)
  • Második kattintás: csökkenő sorrend (DESC)

Új rekord hozzáadása

  1. Kattints az Új elem linkre
  2. Töltsd ki a mezőket
  3. Kattints a Mentés gombra

Rekord szerkesztése

  1. Kattints a rekord mellett a szerkesztés linkre
  2. Módosítsd a mezőket
  3. Kattints a Mentés gombra

Inline szerkesztés

Az Adminer támogatja a gyors, helyben történő szerkesztést:

  1. Dupla kattintás a cellára
  2. Módosítsd az értéket
  3. Enter a mentéshez, Escape a megszakításhoz

Rekordok törlése

Egyetlen rekord:

  1. Kattints a rekord mellett a törlés linkre
  2. Erősítsd meg

Több rekord egyszerre:

  1. Jelöld be a rekordokat a checkbox-szal
  2. Válaszd a Törlés műveletet
  3. Kattints a Végrehajt gombra

SQL lekérdezések futtatása

SQL parancs ablak

  1. Kattints az SQL parancs menüpontra
  2. Írd be a query-t a szövegmezőbe
  3. Kattints a Végrehajt gombra

Gyakori WordPress SQL lekérdezések

Publikált bejegyzések listázása:

SELECT ID, post_title, post_date, post_author
FROM wp_posts
WHERE post_type = 'post'
AND post_status = 'publish'
ORDER BY post_date DESC
LIMIT 20;

Felhasználók listázása:

SELECT u.ID, u.user_login, u.user_email, u.display_name,
m.meta_value as capabilities
FROM wp_users u
LEFT JOIN wp_usermeta m ON u.ID = m.user_id
AND m.meta_key = 'wp_capabilities'
ORDER BY u.ID;

Bejegyzések száma kategóriánként:

SELECT t.name as category, COUNT(*) as post_count
FROM wp_posts p
JOIN wp_term_relationships tr ON p.ID = tr.object_id
JOIN wp_term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
JOIN wp_terms t ON tt.term_id = t.term_id
WHERE tt.taxonomy = 'category'
AND p.post_status = 'publish'
GROUP BY t.term_id
ORDER BY post_count DESC;

Opciók keresése:

SELECT option_name, option_value
FROM wp_options
WHERE option_name LIKE '%siteurl%'
OR option_name LIKE '%home%';

Revíziók törlése (óvatosan!):

DELETE FROM wp_posts
WHERE post_type = 'revision';

Spam kommentek törlése:

DELETE FROM wp_comments
WHERE comment_approved = 'spam';

Tranziens adatok törlése:

DELETE FROM wp_options
WHERE option_name LIKE '%_transient_%';

SQL history

Az Adminer megjegyzi a korábban futtatott lekérdezéseket. A History linkre kattintva visszanézheted és újrafuttathatod őket.

Többsoros lekérdezések

Több SQL utasítást is futtathatsz egyszerre, pontosvesszővel elválasztva:

-- Először lekérdezés
SELECT COUNT(*) FROM wp_posts WHERE post_status = 'draft';

-- Aztán törlés
DELETE FROM wp_posts WHERE post_status = 'draft' AND post_date < '2023-01-01';

Import és Export

Adatbázis exportálása

  1. Válaszd ki az adatbázist
  2. Kattints az Exportálás linkre
  3. Állítsd be az opciókat:
BeállításAjánlott érték
Kimenetmentés (fájlba)
FormátumSQL
AdatbázisCREATE DATABASE + USE
TáblákDROP + CREATE
AdatokINSERT
  1. Válaszd ki az exportálandó táblákat (vagy az összeset)
  2. Kattints az Exportálás gombra

Csak bizonyos táblák exportálása

  1. Jelöld be csak a kívánt táblákat
  2. Futtasd az exportot

Tábla exportálása CSV formátumban

  1. Nyisd meg a táblát
  2. Kattints az Exportálás linkre
  3. Válaszd a CSV formátumot
  4. Kattints az Exportálás gombra

Adatbázis importálása

  1. Kattints az Importálás linkre
  2. Válaszd ki az SQL fájlt
  3. Kattints a Végrehajt gombra
Nagy fájlok importálása

Ha a fájl túl nagy, növeld a PHP beállításokat:

upload_max_filesize = 256M
post_max_size = 256M
max_execution_time = 300
memory_limit = 512M

Vagy használd a Fájl futtatása opciót, ami a szerveren lévő fájlt importálja.

CSV importálása

  1. Válaszd ki a céltáblát
  2. Kattints az Importálás linkre
  3. Válaszd ki a CSV fájlt
  4. Állítsd be az oszlop megfeleltetéseket
  5. Kattints a Végrehajt gombra

Indexek kezelése

Indexek megtekintése

  1. Nyisd meg a táblát
  2. Kattints a Szerkezet módosítása linkre
  3. Az indexek a tábla alatt láthatók

Új index létrehozása

  1. A Szerkezet módosítása oldalon
  2. Az Indexek szekcióban kattints az Index hozzáadása linkre
  3. Válaszd ki:
    • Típus: INDEX, UNIQUE, PRIMARY, FULLTEXT
    • Oszlopok: melyik oszlop(ok)ra
  4. Kattints a Mentés gombra

Index típusok

TípusHasználat
PRIMARYElsődleges kulcs, egyedi, nem NULL
UNIQUEEgyedi értékek, de lehet NULL
INDEXGyorsítja a keresést
FULLTEXTSzöveges kereséshez (TEXT oszlopokra)

View-k kezelése

View létrehozása

  1. Kattints a View létrehozása linkre
  2. Add meg a view nevét
  3. Írd be a SELECT lekérdezést:
SELECT p.ID, p.post_title, u.display_name as author
FROM wp_posts p
JOIN wp_users u ON p.post_author = u.ID
WHERE p.post_status = 'publish'
  1. Kattints a Mentés gombra

View szerkesztése

  1. Kattints a view nevére
  2. Kattints a Szerkezet módosítása linkre
  3. Módosítsd a lekérdezést
  4. Mentsd el

Stored Procedures és Triggers

Tárolt eljárás létrehozása

  1. Kattints az Eljárás létrehozása linkre
  2. Add meg a nevet és a paramétereket
  3. Írd be az SQL kódot:
CREATE PROCEDURE GetPublishedPosts(IN limit_count INT)
BEGIN
SELECT ID, post_title, post_date
FROM wp_posts
WHERE post_status = 'publish'
ORDER BY post_date DESC
LIMIT limit_count;
END

Trigger létrehozása

  1. Válaszd ki a táblát
  2. Kattints a Trigger létrehozása linkre
  3. Állítsd be:
    • Név: trigger neve
    • Időzítés: BEFORE vagy AFTER
    • Esemény: INSERT, UPDATE, DELETE
  4. Írd be a trigger kódját

Felhasználók és jogosultságok

Felhasználók listázása

  1. Kattints a Jogosultságok linkre
  2. Látod az összes adatbázis felhasználót

Új felhasználó létrehozása

  1. Kattints a Felhasználó létrehozása linkre
  2. Add meg:
    • Felhasználónév
    • Host (localhost vagy %)
    • Jelszó
  3. Állítsd be a jogosultságokat
  4. Mentsd el

Jogosultságok beállítása

Elérhető jogosultságok:

JogosultságLeírás
SELECTAdatok olvasása
INSERTÚj rekordok
UPDATEMódosítás
DELETETörlés
CREATETáblák létrehozása
DROPTáblák törlése
ALL PRIVILEGESMinden jog

Témák és testreszabás

CSS téma használata

  1. Töltsd le a kívánt témát
  2. Nevezd el adminer.css-nek
  3. Tedd az adminer.php mellé

Népszerű témák

TémaLeírás
Hydra DarkSötét téma
Material DesignMaterial stílus
DraculaDracula színséma
One DarkAtom One Dark

Hivatalos témák

Az Adminer hivatalos témái: adminer.org/designs


Pluginek

Plugin rendszer

Az Adminer bővíthető pluginekkel. Használathoz készíts egy wrapper fájlt:

<?php
// db-manager.php

function adminer_object() {
// Pluginek betöltése
include_once "./plugins/plugin.php";

// Login szerverek plugin
include_once "./plugins/login-servers.php";

return new AdminerPlugin([
new AdminerLoginServers([
'Localhost' => [
'server' => 'localhost',
'driver' => 'mysql'
],
'Production' => [
'server' => 'db.example.com',
'driver' => 'mysql'
],
])
]);
}

include "./adminer.php";

Hasznos pluginek

PluginFunkció
login-serversElőre definiált szerverek
designsTéma választó
dump-alterALTER utasítások exportálása
edit-calendarDátum választó
enum-optionENUM értékek legördülő listában
foreign-systemKülső kulcs megjelenítés
tables-filterTábla szűrő

Biztonsági tippek

Fontos!

Az Adminer közvetlen hozzáférést biztosít az adatbázishoz. Védd meg megfelelően!

Ajánlott védelmi intézkedések

  1. Használj nehezen kitalálható fájlnevet

    ❌ adminer.php
    ✅ db-xyz123-manager.php
  2. Tedd védett mappába

    /db-tools/adminer.php + .htaccess védelem
  3. HTTP Basic Authentication

    AuthType Basic
    AuthName "Restricted"
    AuthUserFile /path/.htpasswd
    Require valid-user
  4. IP korlátozás

    <Files "adminer.php">
    Order Deny,Allow
    Deny from all
    Allow from 192.168.1.100
    </Files>
  5. HTTPS kötelező használata

  6. Töröld, ha nem használod

    • Ne hagyd a szerveren, ha befejeztél
  7. Erős adatbázis jelszavak

    • Legalább 16 karakter
    • Vegyes karakterek

Automatikus törlés

Készíts egy cron job-ot, ami törli az Adminer-t egy idő után:

# 1 óra múlva törlés
echo "rm /var/www/html/db-tools/adminer.php" | at now + 1 hour

Hibakeresés

Gyakori hibák

"Login without password is forbidden"

  • Az Adminer nem enged üres jelszót
  • Megoldás: állíts be jelszót az adatbázis usernek

"Access denied for user"

  • Hibás felhasználónév vagy jelszó
  • Ellenőrizd a wp-config.php fájlt

"Connection refused"

  • A szerver nem érhető el
  • Ellenőrizd a host nevet (localhost vs 127.0.0.1)

"Maximum execution time exceeded"

  • Nagy művelet időtúllépés
  • Növeld a max_execution_time értéket

Karakter kódolási problémák

  • Használj utf8mb4 karakterkészletet
  • Ellenőrizd az export/import beállításokat

Kapcsolódó eszközök


Kapcsolódó linkek