MySQL

Adatbázissal kapcsolatos kérdések

Hogyan készítsünk mentést az adatbázisról?

Majdnem minden modern weboldal MySQL adatbázist használ. A népszerűbb tartalom kezelő rendszerek, mint például a WordPress, Magento, Joomla minden adatot MySQL adatbázisban tárol. Abban az esetben ha valamilyen ok miatt szeretnénk mentést készíteni az adatbázisról, például MySQL szerver frissítés, akkor lehetőség van az adatbázisban tárolt adatok kidumpolására, illetve egy esetleges hiba esetén a dump visszatöltésére is.

MENTÉS KÉSZÍTÉSE

A szerverre SSH-n keresztül történő csatlakozást követően az alábbi parancs kiadásával készíthet mentést:

mysqldump -u user_name -p database_name --single-transaction | gzip -2 > db.sql.gz

A fenti parancs kiadásával egy tömörített dumpot hoz létre, egyetlen tranzakciós jelzővel.

Természetesen lehetőség van tömörítés nélküli dump készítésére is, azonban ez sokkal több időt fog igénybe venni, és a kidumpolt tartalom is több helyet fog lefoglalni.

mysqldump -u user_name -p database_name > db.sql

A TÖMÖRÍTETT ARCHÍVUM KITÖMÖRÍTÉSE

A visszaállítást a következő parancs kiadásával végezhetjük el

gunzip < db.sql.gz | mysql -u user_name -p database_name

A tömörítetlen adatbázis visszaállításához a következő parancsot használhatjuk:

mysql -u user_name -p database_name < db.sql

phpMyAdmin telepítése cPaneles tárhelyre

A cPanel felületéről a phpMyAdmin-t el lehet érni, azonban a sok menü és a bejelentkezések miatt ez a használhatóságban okozhat problémát. A cPanel felületén létre kell hozni egy aldomain nevet az egyik domain név alatt.

A telepítést követően már el lehet érni a phpMyAdmint a böngészőből. Így az adatbázisok eléréséhez nem kell bejelentkeznie a cPanel felületére.

Nagyméretű adatbázis importálása

A phpMyAdmin felületén maximum 50 MB-os mérettel rendelkező adatbázist lehet importálni. Abban az esetben ha Ön DotRoll Plus, DotRoll Ultra, vagy DotRoll Pro tárhely csomaggal rendelkezik akkor lehetősége van nagyobb méretű adatbázis importálására is.

Adatbázis elérése SSH tunnelen keresztül

Fejlesztési célokra SSH-n keresztül biztosítunk hozzáférést a MySQL szerverünkhöz a Plus tárhely csomagtól.

A kapcsolat létrehozásához létre kell hozni egy SSH kulcspárt a cPanel felületén. Ezt követően a PuTTY segítségével tudunk csatlakozni SSH protokollon keresztül a tárhelyhez, azonban a csatlakozás előtt be kell állítani a tunnelt a PuTTY alkalmazásban.

A beállítás menete:

  1. Az ablak bal oldali részében válasszuk ki a Connection/SSH lehetőséget azon belül pedig a Tunnels részt.
  2. Itt az Add new forwarded port résznél a Source port mezőbe adja meg a 3306-os port számot. A Destination részhez pedig a localhost:3306 értéket, majd kattintson az Add gombra.
  3. Az adatok megadása után kattintsunk az Open gombra. A megjelenő ablakban adja meg a tárhelye azonosítóját valamint az SSH kulcshoz beállított jelszavát.

Ezen beállítások segítségével Ön a localhost:3306-os portra kapcsolódva láthatja az adatbázisait, egészen addig ameddig a PuTTY segítségével létrehozott kapcsolatot nem bontja.

MySQL szerver frissítés utáni lehetséges problémák és megoldások

Ha a MySQL szerveren végrehajtani kívánt művelet során az alábbi üzenethez hasonló hibaüzenettel találkozik:

Field 'field_name' doesn't have a default value

Akkor javasoljuk, hogy a MySQL kapcsolat felépítését követően futtassa le az alábbi query-t:

5.7-es PHP verzióig az alábbi kódot érdemes használni:

mysql_query("SET SESSION sql_mode = ''");

7.0-ás, vagy a feletti PHP verziótól pedig az alábbi kódsort érdemes használni:

mysqli_query("SET SESSION sql_mode = ''");