4.4 KiB
MariaDB telepítése Docker konténerben
Ez az útmutató bemutatja, hogyan telepíthető és futtatható a MariaDB egy Docker konténerben. A Docker használata leegyszerűsíti a telepítést, az izolációt és a hordozhatóságot.
Előfeltételek
- Docker: A Docker-nek telepítve kell lennie a rendszereden.
Lépések
1. MariaDB Docker Képfájl Letöltése
Először le kell töltenünk a hivatalos MariaDB képfájlt a Docker Hub-ról.
docker pull mariadb
Ez a parancs letölti a legfrissebb (latest) MariaDB verziót.
2. Adat-kötet (Volume) Létrehozása
Annak érdekében, hogy az adatbázis adatai megmaradjanak a konténer újraindítása vagy törlése után is, létrehozunk egy Docker "volume"-ot.
docker volume create mariadb_data
3. MariaDB Konténer Futtatása
Most indítsuk el a MariaDB konténerét a korábban létrehozott kötettel.
docker run -d \
--name my-mariadb \
-p 3306:3306 \
-v mariadb_data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
mariadb
A parancs paramétereinek magyarázata:
-d: A konténert a háttérben (detached mode) futtatja.--name my-mariadb: Nevesített konténert hoz létre (my-mariadb) a könnyebb hivatkozás érdekében.-p 3306:3306: A gazdagép (host) 3306-os portját összekapcsolja a konténer 3306-os portjával. Így a helyi hálózaton keresztül elérhetővé válik az adatbázis.-v mariadb_data:/var/lib/mysql: Csatolja amariadb_datakötetet a konténer/var/lib/mysqlkönyvtárához, ahol az adatbázis fájljai tárolódnak.-e MYSQL_ROOT_PASSWORD=my-secret-pw: Beállítja arootfelhasználó jelszavát. Fontos: Cseréld le amy-secret-pwértéket egy erős, biztonságos jelszóra!mariadb: A futtatandó képfájl neve.
4. Csatlakozás az Adatbázishoz
Csatlakozhatsz a futó MariaDB konténerhez egy SQL klienssel, vagy a docker exec paranccsal.
docker exec -it my-mariadb mysql -u root -p
A parancs be fogja kérni a root jelszót (amit a -e kapcsolóval adtál meg).
Konfiguráció docker-compose segítségével (Javasolt)
A docker-compose egy eszköz, amely megkönnyíti a több konténerből álló alkalmazások definiálását és futtatását. Ez a javasolt módszer a MariaDB (és a hozzá kapcsolódó alkalmazások) kezelésére.
Hozd létre a következő docker-compose.yml fájlt:
version: '3.8'
services:
db:
image: mariadb
container_name: mariadb-compose
restart: always
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
ports:
- "3306:3306"
volumes:
- mariadb_data:/var/lib/mysql
volumes:
mariadb_data:
A futtatáshoz navigálj abba a könyvtárba, ahol a docker-compose.yml fájl található, és futtasd a következő parancsot:
docker-compose up -d
Távoli Adminisztrációs Felhasználó Létrehozása
Az alábbi lépések bemutatják, hogyan hozhatsz létre egy új felhasználót, aki távolról is be tud lépni és teljes adminisztrációs jogokkal rendelkezik (új felhasználók és adatbázisok létrehozása, jogok kezelése stb.).
-
Lépj be a MariaDB konténerbe
rootfelhasználóként:docker exec -it my-mariadb mysql -u root -p(Add meg a
rootjelszót, amikor kéri.) -
Futtasd az alábbi SQL parancsokat:
Cseréld le a
remote_adminnevet a választott felhasználónévre, és asuper-strong-password-ot egy erős, biztonságos jelszóra.-- Felhasználó létrehozása. A '%' azt jelenti, hogy bármilyen IP címről bejelentkezhet. -- Biztonsági okokból érdemes lehet a '%' helyett egy konkrét IP címet megadni, pl. 'remote_admin'@'192.168.1.100'. CREATE USER 'remote_admin'@'%' IDENTIFIED BY 'super-strong-password'; -- Minden jog megadása az összes adatbázison (*.*), és a jog továbbadásának engedélyezése (WITH GRANT OPTION). GRANT ALL PRIVILEGES ON *.* TO 'remote_admin'@'%' WITH GRANT OPTION; -- A jogosultsági táblák frissítése a változtatások érvényesítéséhez. FLUSH PRIVILEGES; -- Kilépés EXIT;
Ezzel a remote_admin felhasználó képes lesz bármely SQL kliensből (pl. DBeaver, HeidiSQL, DataGrip) csatlakozni a Docker gazdagép IP címén és a 3306-os porton keresztül, és teljes körűen adminisztrálni az adatbázis-szervert.