Start Neue Main
This commit is contained in:
119
GEMINI_mariadb.md
Normal file
119
GEMINI_mariadb.md
Normal file
@@ -0,0 +1,119 @@
|
||||
# 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.
|
||||
|
||||
```bash
|
||||
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.
|
||||
|
||||
```bash
|
||||
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.
|
||||
|
||||
```bash
|
||||
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 a `mariadb_data` kötetet a konténer `/var/lib/mysql` könyvtárához, ahol az adatbázis fájljai tárolódnak.
|
||||
- `-e MYSQL_ROOT_PASSWORD=my-secret-pw`: Beállítja a `root` felhasználó jelszavát. **Fontos: Cseréld le a `my-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.
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```yaml
|
||||
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:
|
||||
|
||||
```bash
|
||||
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.).
|
||||
|
||||
1. **Lépj be a MariaDB konténerbe `root` felhasználóként:**
|
||||
|
||||
```bash
|
||||
docker exec -it my-mariadb mysql -u root -p
|
||||
```
|
||||
(Add meg a `root` jelszót, amikor kéri.)
|
||||
|
||||
2. **Futtasd az alábbi SQL parancsokat:**
|
||||
|
||||
Cseréld le a `remote_admin` nevet a választott felhasználónévre, és a `super-strong-password`-ot egy erős, biztonságos jelszóra.
|
||||
|
||||
```sql
|
||||
-- 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.
|
||||
Reference in New Issue
Block a user