Felkészülés a Frissítés mysql 5

Miután szerver biztonságos adatközpontok Európában. Nyílt felhő VPS / VDS szerver egy gyors SSD 1 perc alatt!

A legjobb Web Hosting:
- megvédi az illetéktelen hozzáférés egy biztonságos európai adatközpont
- fizet legalább Bitcoin.
- Akkor tegye meg a disztribúciós

- védelmet DDOS támadások
- ingyenes biztonsági mentés
- Üzemidő 99,9999%
- DPC - TIER III
- ISP - TIER I

Támogatás az orosz 24/7/365 dolgozni a jogi és fizikai személyek. Most kell 24 mag és 72 Gb RAM. Kérlek!

A versenyképes áron bizonyítani, hogy a legolcsóbb hosting, ha nem tudja!

A percek alatt, válassza ki a konfiguráció, a fizetés és a CMS egy VPS kész.
Pénzvisszafizetési - 30 nap alatt!

Bankkártyák, elektronikus valuta révén Qiwi terminálok, WebMoney, PayPal, Novoplat és mások.

Tegye fel kérdését támogatás 24/7/365

Megtalálja a választ az adatbázisunkban, és megfelel az ajánlásokat a

Ajánlatot 8host.com

Felkészülés a Frissítés mysql 5

Hamarosan lesz megjelent új változata a népszerű nyílt forráskódú adatbázis, MySQL 5.7, amely nagyobb skálázhatóságot. Például, a MySQL 5.7 skálázott lineárisan 48-core szerverek. Azonban ez a verzió szükséges Előbeállítással MySQL 5.6 frissíteni.

Csúcsteljesítmény szerver MySQL 5.7 - több 640K RPS memcached interfész közvetlen kölcsönhatásban a tárolórendszer InnoDB, amely képes ellenállni több mint 1,1 millió gyakorlati kérdést másodpercenként.

De mielőtt elkezdené mysql_upgrade, akkor elő kell készíteni a rendszer, és mi lesz szó ebben a kézikönyvben.

az adatok integritását

Az adatok integritását MySQL 5.7 jelentősen megnő. Korábban MySQL rendszer megfelelően van beállítva érték blizhayshgo lehetséges helyes értéket, hanem az új alapértelmezett beállításokat, akkor helyette hibaüzenetet.

Az alábbiakban 5 példalekérdezés kell változtatni a helyes működését MySQL 5.7.

1: hozzáadása negatív értéket az oszlopban előjel nélküli

Hozzon létre egy táblázatot egy oszlopot aláíratlan

Create table test (
id int unsigned
);

Készíts egy negatív értéket.

Az előző verziók viselkedésével:

INSERT INTO vizsgálati értékek (-1);
Query OK, 1 sor érintett, 1 figyelmeztető (0,01 mp)

A viselkedése MySQL 5.7:

2: nullával osztani

Hozzon létre egy táblát:

CREATE TABLE test2 (
id int unsigned
);

Próbálja nullával osztani.

Az előző verziók viselkedésével:

INSERT INTO test2 ÉRTÉKEK (0/0);
Query OK, 1 sor érintett (0,01 mp)

A viselkedése MySQL 5.7:

3: hozzáadása vonal 20 pont az oszlop 10 karakter

Hozzon létre egy táblázatot korlátozásával karakterek száma az egyik oszlop 10.

CREATE TABLE test3 (
VARCHAR (10)
);

Megpróbál beilleszteni egy hosszabb string rá.

Az előző verziók viselkedésével:

INSERT INTO test3 VALUES ( 'abcdefghijklmnopqrstuvwxyz');
Query OK, 1 sor érintette, 1 figyelmeztetés (0,00 mp)

A viselkedése MySQL 5.7:

4: nullázása dátumot a dátum és az idő oszlopban

Hozzon létre egy táblát egy datetime oszlop:

CREATE TABLE test3 (
datetime
);

Állítsa be a dátumot 0000-00-00 00:00:00.

Az előző verziók viselkedésével:

INSERT INTO test3 VALUES ( '0000-00-00 00:00:00');
Query OK, 1 sor érintette, 1 figyelmeztetés (0,00 mp)

A viselkedése MySQL 5.7:

5: A GROUP BY és a kiválasztott kétértelmű oszlop

Ez akkor történik, amikor a leírás nem része az üzemeltető GROUP BY és hozzá nem alkalmazható aggregált funkciót (például, MIN vagy MAX).

Az előző verziók viselkedésével:

SELECT id, invoice_id, leírást invoice_line_items GROUP BY invoice_id;
+----+------------+-------------+
| id | invoice_id | leírás |
+----+------------+-------------+
| 1 | 1 | Új zoknik |
| 3. | 2. | cipő |
| 5 | 3. | tie |
+----+------------+-------------+
3 sor készletben (0,00 mp)

A viselkedése MySQL 5.7:

viselkedés sql_mode

A MySQL, minden viselkedés, amint azt az előző részben attól függ, hogy az úgynevezett sql_mode mechanizmus.

  • ONLY_FULL_GROUP_BY
  • STRICT_TRANS_TABLES
  • NO_ENGINE_SUBSTITUTION
  • NO_AUTO_CREATE_USER

Emellett STRICT_TRANS_TABLES mód (vagy szigorú mód) vált a szigorú, és most már viselkedés ERROR_FOR_DIVISION_BY_ZERO módok NO_ZERO_DATE és NO_ZERO_IN_DATE.

frissítés tippek

Jó hír a felhasználók a legújabb verzióját a WordPress, Drupal és Magento - nem kell semmit! Ezek az alkalmazások már tisztában sql_mode, ha letölti a MySQL, akkor automatikusan korrigálja a beállításokat.

A felhasználók új alkalmazások fejlesztésére, ajánlott, hogy rögzítse a MySQL 5.6 konfigurációt, hogy támogassa sql_mode saját.

A tagok, akiknek alkalmazás a gyártási szakaszban, végre kell hajtania a fokozatos és szigorúbb környezetben. Íme néhány tipp:

  • Engedélyezőlista (vagy engedélyezőlista). Viszont egy új szabvány opció sqlmode az új rész a kérelmet. Például kifejlesztett cron visszaállítani az adatok cache tartalmazhat sqlmode A következő alkalommal, amikor kapcsolódni a MySQL. A meglévő alkalmazás kódját használja viselkedését, mivel kezdetben.
  • Feketelista (fekete lista). Miután elért bizonyos sikereket konvertáló alkalmazások, próbáld ki az új funkció sqlmode standard szerver. míg a meglévő alkalmazások használhatják a kezdeti viselkedését, változó, hogy a következő alkalommal, amikor kapcsolódni a MySQL. Ezen túlmenően, annak érdekében, hogy elkerüljék a MySQL támogatja MELLŐZ módosító hibák egyéni alapon. Például:

INSERT INTO MELLŐZ my_table. `

  • A fokozatos kiépítését. Szabályozásával az alkalmazás, akkor végre sql_mode funkció bizonyos felhasználók számára. Javasoljuk, hogy a belső felhasználók számára, hogy a béta teszt.

1: Keresés összeegyeztethetetlen szereplők generáló figyelmeztetések és hibák

Először meg kell győződnie arról, hogy sem a jelenlegi kérelem nem generál hibákat és figyelmeztetéseket. Ez nagyon fontos, mert különben a MySQL 5.7 reagál bizonyos kéréseket (figyelmeztetés MySQL 5.6 - egy hiba MySQL 5.7).

MySQL performance_schema - diagnosztikai funkció, amely szerepel a MySQL 5.6 és magasabb az alapértelmezett. Segítségével performance_schema írhat lekérdezést, amely visszaadja az összes szereplőnek, aki okozta a hibát vagy figyelmeztetést.

Request megjelenítéséhez szereplők, ami miatt a hiba vagy figyelmeztetés (MySQL 5.6+):

SELECT
`DIGEST_TEXT` AS` query`,
`SCHEMA_NAME` AS` db`,
`COUNT_STAR` AS` exec_count`,
`SUM_ERRORS` AS` errors`,
(Ifnull (( `SUM_ERRORS` / nullif (` COUNT_STAR`, 0)), 0) * 100) AS `error_pct`,
`SUM_WARNINGS` AS` warnings`,
(Ifnull (( `SUM_WARNINGS` / nullif (` COUNT_STAR`, 0)), 0) * 100) AS `warning_pct`,
`FIRST_SEEN` AS` first_seen`,
`LAST_SEEN` AS` last_seen`,
`DIGEST` AS` digest`
FROM
performance_schema.events_statements_summary_by_digest
WHERE
(( `SUM_ERRORS` gt; 0) OR ( `SUM_WARNINGS` gt; 0))
ORDER BY
`SUM_ERRORS` DESC,
`SUM_WARNINGS` DESC;

A kérés, hogy megjelenjen a szereplők, hogy létrehoz a hiba (MySQL 5.6+):

SELECT
`DIGEST_TEXT` AS` query`,
`SCHEMA_NAME` AS` db`,
`COUNT_STAR` AS` exec_count`,
`SUM_ERRORS` AS` errors`,
(Ifnull (( `SUM_ERRORS` / nullif (` COUNT_STAR`, 0)), 0) * 100) AS `error_pct`,
`SUM_WARNINGS` AS` warnings`,
(Ifnull (( `SUM_WARNINGS` / nullif (` COUNT_STAR`, 0)), 0) * 100) AS `warning_pct`,
`FIRST_SEEN` AS` first_seen`,
`LAST_SEEN` AS` last_seen`,
`DIGEST` AS` digest`
FROM
performance_schema.events_statements_summary_by_digest
WHERE
`SUM_ERRORS` gt; 0
ORDER BY
`SUM_ERRORS` DESC,
`SUM_WARNINGS` DESC;

2: megváltoztatása a viselkedését MySQL 5.6 MySQL 5.7

Azt is próbaüzem a MySQL 5.6, a változó a viselkedése az adatbázis MySQL 5.7.

Toker Morgan (Morgan Tocker) a MySQL csapat fejleszt egy GitHub projekt. ahol megtalálható a következő konfigurációs fájl viselkedés módosítására a MySQL 5.6.

A standard beállítások MySQL 5.7 MySQL 5.6 lehetővé teszi, hogy teszteljék az alkalmazások teljesítményét és felszámolására való függőségét kevésbé szigorú viselkedését.

Ez a fájl meglehetősen rövid:

3: Mode változás sql_mode (nem kötelező)

Néha szükség van, hogy teszteljék és frissíti a szerver több lépésben. Ahelyett, hogy egy teljes újraírása a MySQL szerver konfigurációs fájl, akkor változtassa meg az egyik ülésen. Például:

CREATE TABLE sql_mode_test (a int);

Nem SQL telepítési mód:

beállítva sql_mode = '';
INSERT INTO sql_mode_test (a) ÉRTÉKEK (0/0);
Query OK, 1 sor érintett (0,01 mp)

Beállítás szigorú SQL mód:

következtetés

Ebben a szakaszban a MySQL kész frissít MySQL 5.7. A hivatalos adatok frissítése megtalálható ezen a linken.

MySQL 5.7 - ez egy nagy előrelépés tekintetében az adatok integritását és a szabványos konfigurációk mai alkalmazások.

Kapcsolódó cikkek