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