Skip to content

Adminer - Adatbázis kezelő

Adminer telepítése és részletes használati útmutató - egyetlen PHP fájl az adatbázisok kezeléséhez, phpMyAdmin alternatíva WordPress fejlesztőknek.

This content is not available in your language yet.

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.


Szempont Adminer phpMyAdmin
Telepítés 1 fájl feltöltése Komplex telepítés
Méret ~470 KB ~13 MB+
Multi-DB Igen (8+ motor) Csak MySQL/MariaDB
Biztonság Prioritás #1 Gyakoribb sebezhetőségek
Felület Letisztult, modern Zsúfolt
View szerkesztés Egyszerű, intuitív Bonyolult
Sebesség Gyorsabb Lassabb

Adatbázis Támogatás
MySQL Natív
MariaDB Natív
PostgreSQL Natív
SQLite Natív
MS SQL Server Natív
Oracle Natív
Elasticsearch Natív
MongoDB Natív

  1. Töltsd le az Adminer-t: adminer.org
  2. Nevezd át (ajánlott biztonsági okokból): adminer.php → db-manager.php
  3. Töltsd fel a webszerveredre
  4. Nyisd meg böngészőben: https://example.com/db-manager.php
Verzió Leírás Méret
adminer.php Teljes verzió (minden DB) ~470 KB
adminer-mysql.php Csak MySQL/MariaDB ~380 KB
adminer-en.php Csak angol nyelv ~400 KB
adminer-mysql-en.php MySQL + angol ~320 KB

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

Terminál
# 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:

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

  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ás Példa
Rendszer Adatbázis típusa MySQL
Szerver Adatbázis szerver címe localhost vagy 127.0.0.1
Felhasználó DB felhasználónév wp_user
Jelszó DB jelszó ********
Adatbázis Adatbázis neve (opcionális) wordpress_db
  1. Kattints a Belépés gombra

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

  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
  1. Válaszd ki az adatbázist
  2. Kattints az Adatbázis eldobása linkre
  3. Erősítsd meg a törlést

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
  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ás Leírás
Oszlop Oszlop neve (pl. id, name)
Típus Adattípus (INT, VARCHAR, TEXT, DATETIME stb.)
Hossz Maximális hossz (VARCHAR esetén)
NULL Engedélyezett-e a NULL érték
AI Auto Increment (automatikus növelés)
Alapértelmezett Default érték
  1. Állítsd be az elsődleges kulcsot (Primary Key)
  2. Kattints a Mentés gombra

Példa WordPress-szerű tábla:

Oszlop Típus Hossz NULL AI Megjegyzés
id BIGINT 20 Nem Igen Elsődleges kulcs
title VARCHAR 255 Nem - Cím
content LONGTEXT - Igen - Tartalom
status VARCHAR 20 Nem - Állapot
created_at DATETIME - Nem - Létrehozás dátuma
  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
  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
  1. Válaszd ki a táblát
  2. Kattints a Tábla eldobása linkre
  3. Erősítsd meg
  1. Válaszd ki a táblát
  2. Kattints a Tábla kiürítése linkre
  3. Erősítsd meg

  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

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él Oszlop Operátor Érték
Publikált bejegyzések post_status = publish
Cím tartalmazza post_title LIKE %wordpress%
2024 után létrehozott post_date > 2024-01-01
Adott szerző post_author = 1

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

  • Első kattintás: növekvő sorrend (ASC)
  • Második kattintás: csökkenő sorrend (DESC)
  1. Kattints az Új elem linkre
  2. Töltsd ki a mezőket
  3. Kattints a Mentés gombra
  1. Kattints a rekord mellett a szerkesztés linkre
  2. Módosítsd a mezőket
  3. Kattints a Mentés gombra

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

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

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

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_%';

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

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';

  1. Válaszd ki az adatbázist
  2. Kattints az Exportálás linkre
  3. Állítsd be az opciókat:
Beállítás Ajánlott érték
Kimenet mentés (fájlba)
Formátum SQL
Adatbázis CREATE DATABASE + USE
Táblák DROP + CREATE
Adatok INSERT
  1. Válaszd ki az exportálandó táblákat (vagy az összeset)
  2. Kattints az Exportálás gombra
  1. Jelöld be csak a kívánt táblákat
  2. Futtasd az exportot
  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
  1. Kattints az Importálás linkre
  2. Válaszd ki az SQL fájlt
  3. Kattints a Végrehajt gombra
  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

  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
  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
Típus Használat
PRIMARY Elsődleges kulcs, egyedi, nem NULL
UNIQUE Egyedi értékek, de lehet NULL
INDEX Gyorsítja a keresést
FULLTEXT Szöveges kereséshez (TEXT oszlopokra)

  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
  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

  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
  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

  1. Kattints a Jogosultságok linkre
  2. Látod az összes adatbázis felhasználót
  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

Elérhető jogosultságok:

Jogosultság Leírás
SELECT Adatok olvasása
INSERT Új rekordok
UPDATE Módosítás
DELETE Törlés
CREATE Táblák létrehozása
DROP Táblák törlése
ALL PRIVILEGES Minden jog

  1. Töltsd le a kívánt témát
  2. Nevezd el adminer.css-nek
  3. Tedd az adminer.php mellé
Téma Leírás
Hydra Dark Sötét téma
Material Design Material stílus
Dracula Dracula színséma
One Dark Atom One Dark

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


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

db-manager.php
<?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";
Plugin Funkció
login-servers Előre definiált szerverek
designs Téma választó
dump-alter ALTER utasítások exportálása
edit-calendar Dátum választó
enum-option ENUM értékek legördülő listában
foreign-system Külső kulcs megjelenítés
tables-filter Tábla szűrő

  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

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

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

“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


We respect your privacy

We use cookies to improve your browsing experience and to analyse traffic. Analytics only starts if you allow it. Privacy policy, Cookie policy.

Cookie settings