MySQL Community Edition to otwarty, wieloplatformowy, szeroko stosowany i bardzo szybki system zarządzania relacyjnymi bazami danych (RDBMS). Zawiera implementacje klienta i serwera, które składają się z demona serwera (mysqld) oraz wielu różnych programów klienckich i bibliotek.
Funkcje na pierwszy rzut oka
Pierwotnie stworzony przez Sun Microsystems (obecnie obsługiwany przez Oracle), MySQL to więcej niż "najpopularniejsza na świecie baza danych o otwartym kodzie źródłowym", ponieważ zawiera złącza, replikację, partycjonowanie, środowisko robocze, monitor korporacyjny, pulpit nawigacyjny i doradcy, analizator zapytań , monitor replikacji i funkcje kopii zapasowych dla przedsiębiorstw. Działa na systemach operacyjnych Linux, Solaris, BSD, Mac OS X i Windows.
Ponadto serwer baz danych MySQL zapewnia także pełne, przyrostowe i częściowe funkcje tworzenia kopii zapasowych, pełne i częściowe przywracanie, odzyskiwanie w czasie, uwierzytelnianie zewnętrzne, zgodność z zasadami w zakresie kontroli, pulę wątków, menedżer klastra, automatyczne skalowanie, a także funkcje geolokacji w klastrze.
Obsługuje szeroką gamę silników do przechowywania
Spośród silników pamięci obsługiwanych przez MySQL możemy wymienić MyISAM, InnoDB i NDB. Zapewniona jest również dodatkowa kopia zapasowa dla InnoDB1. Edycja społecznościowa jest oferowana bezpłatnie i aktywnie utrzymywana oraz wspierana przez społeczność entuzjastów open source i programistów ze wszystkich miejsc na świecie.
Obsługuje wszystkie dystrybucje GNU / Linux
MySQL został zaprojektowany do pracy na systemach operacyjnych opartych na jądrze Linux, co oznacza, że można go łatwo zainstalować na dowolnej dystrybucji GNU / Linux przy minimalnym wysiłku. Jest on dostępny do pobrania jako gotowe pakiety binarne dla systemów Ubuntu, Debian, SUSE Linux Enterprise Server, Oracle Linux, Red Hat Enterprise Linux i innych systemów operacyjnych Linux, obsługujących zarówno 32-, jak i 64-bitowe architektury zestawów instrukcji.
Konfigurowalny przez phpMyAdmin
MySQL to program serwera, co oznacza, że działa on w tle jako demon. Możesz wchodzić z nim w interakcję za pomocą wiersza poleceń, ale najlepszym sposobem na zarządzanie bazami danych jest użycie graficznego interfejsu użytkownika. Najlepszym front-endem MySQL dostępnym dziś jest bez wątpienia phpMyAdmin, który zapewnia użytkownikom internetowy interfejs, do którego można uzyskać dostęp z dowolnego miejsca.
Co nowego w tej wersji:
- Informacje o zabezpieczeniach:
- Poprzednio MySQL obsługiwał tylko protokół TLSv1 dla zaszyfrowanych połączeń. Obsługa TLS została rozszerzona, aby umożliwić wyższy poziom bezpieczeństwa zaszyfrowanych połączeń ...
- Podczas kompilacji przy użyciu dołączonej wersji yaSSL, MySQL obsługuje protokoły TLSv1 i TLSv1.1.
- Podczas kompilacji przy użyciu OpenSSL 1.0.1 lub nowszej wersji MySQL obsługuje protokoły TLSv1, TLSv1.1 i TLSv1.2.
- Domyślnie MySQL podejmuje próbę użycia najwyższej dostępnej wersji protokołu TLS, w zależności od tego, która biblioteka SSL została użyta do skompilowania serwera i klienta i który rozmiar klucza jest używany.
- Ponieważ TLSv1.2 wymaga OpenSSL, obsługa tego protokołu jest dostępna w dystrybucjach binarnych tylko dla MySQL Commercial Server, a nie dla MySQL Community Server (który jest kompilowany przy użyciu yaSSL). Aby włączyć obsługę TLSv1.2, jeśli kompilujesz ze źródła, musisz ustawić opcję WITH_SSL CMake, aby używać OpenSSL podczas konfigurowania MySQL.
- Nowa zmienna systemowa tls_version umożliwia określenie protokołów TLS dozwolonych przez serwer podczas uruchamiania. Po stronie klienta opcja -tls-version zezwala na określenie protokołów TLS dozwolonych przez programy klienckie dla każdego wywołania klienta.
- Funkcja API mysql_options () C ma nową opcję MYSQL_OPT_TLS_VERSION, która umożliwia określenie protokołów TLS dozwolonych przez program klienta w bibliotece klienta.
- Dodano lub zmieniono funkcjonalność:
- InnoDB: Zmienna systemowa innodb_support_xa, która umożliwia obsługę zatwierdzania dwufazowego w transakcjach XA, jest przestarzała. Obsługa InnoDB dla zatwierdzania dwufazowego w transakcjach XA jest zawsze włączona od wersji MySQL 5.7.10. Wyłączenie opcji innodb_support_xa nie jest już dozwolone, ponieważ powoduje ona, że replikacja jest niebezpieczna i zapobiega wzrostowi wydajności związanemu z zatwierdzaniem grupy dziennika binarnego.
Co nowego w wersji 8.0.11 GA:
- Informacje o zabezpieczeniach:
- Poprzednio MySQL obsługiwał tylko protokół TLSv1 dla zaszyfrowanych połączeń. Obsługa TLS została rozszerzona, aby umożliwić wyższy poziom bezpieczeństwa zaszyfrowanych połączeń ...
- Podczas kompilacji przy użyciu dołączonej wersji yaSSL, MySQL obsługuje protokoły TLSv1 i TLSv1.1.
- Podczas kompilacji przy użyciu OpenSSL 1.0.1 lub nowszej wersji MySQL obsługuje protokoły TLSv1, TLSv1.1 i TLSv1.2.
- Domyślnie MySQL podejmuje próbę użycia najwyższej dostępnej wersji protokołu TLS, w zależności od tego, która biblioteka SSL została użyta do skompilowania serwera i klienta i który rozmiar klucza jest używany.
- Ponieważ TLSv1.2 wymaga OpenSSL, obsługa tego protokołu jest dostępna w dystrybucjach binarnych tylko dla MySQL Commercial Server, a nie dla MySQL Community Server (który jest kompilowany przy użyciu yaSSL). Aby włączyć obsługę TLSv1.2, jeśli kompilujesz ze źródła, musisz ustawić opcję WITH_SSL CMake, aby używać OpenSSL podczas konfigurowania MySQL.
- Nowa zmienna systemowa tls_version umożliwia określenie protokołów TLS dozwolonych przez serwer podczas uruchamiania. Po stronie klienta opcja -tls-version zezwala na określenie protokołów TLS dozwolonych przez programy klienckie dla każdego wywołania klienta.
- Funkcja API mysql_options () C ma nową opcję MYSQL_OPT_TLS_VERSION, która umożliwia określenie protokołów TLS dozwolonych przez program klienta w bibliotece klienta.
- Dodano lub zmieniono funkcjonalność:
- InnoDB: Zmienna systemowa innodb_support_xa, która umożliwia obsługę zatwierdzania dwufazowego w transakcjach XA, jest przestarzała. Obsługa InnoDB dla zatwierdzania dwufazowego w transakcjach XA jest zawsze włączona od wersji MySQL 5.7.10. Wyłączenie opcji innodb_support_xa nie jest już dozwolone, ponieważ powoduje ona, że replikacja jest niebezpieczna i zapobiega wzrostowi wydajności związanemu z zatwierdzaniem grupy dziennika binarnego.
Co nowego w wersji:
- Informacje o zabezpieczeniach:
- Poprzednio MySQL obsługiwał tylko protokół TLSv1 dla zaszyfrowanych połączeń. Obsługa TLS została rozszerzona, aby umożliwić wyższy poziom bezpieczeństwa zaszyfrowanych połączeń ...
- Podczas kompilacji przy użyciu dołączonej wersji yaSSL, MySQL obsługuje protokoły TLSv1 i TLSv1.1.
- Podczas kompilacji przy użyciu OpenSSL 1.0.1 lub nowszej wersji MySQL obsługuje protokoły TLSv1, TLSv1.1 i TLSv1.2.
- Domyślnie MySQL podejmuje próbę użycia najwyższej dostępnej wersji protokołu TLS, w zależności od tego, która biblioteka SSL została użyta do skompilowania serwera i klienta i który rozmiar klucza jest używany.
- Ponieważ TLSv1.2 wymaga OpenSSL, obsługa tego protokołu jest dostępna w dystrybucjach binarnych tylko dla MySQL Commercial Server, a nie dla MySQL Community Server (który jest kompilowany przy użyciu yaSSL). Aby włączyć obsługę TLSv1.2, jeśli kompilujesz ze źródła, musisz ustawić opcję WITH_SSL CMake, aby używać OpenSSL podczas konfigurowania MySQL.
- Nowa zmienna systemowa tls_version umożliwia określenie protokołów TLS dozwolonych przez serwer podczas uruchamiania. Po stronie klienta opcja -tls-version zezwala na określenie protokołów TLS dozwolonych przez programy klienckie dla każdego wywołania klienta.
- Funkcja API mysql_options () C ma nową opcję MYSQL_OPT_TLS_VERSION, która umożliwia określenie protokołów TLS dozwolonych przez program klienta w bibliotece klienta.
- Dodano lub zmieniono funkcjonalność:
- InnoDB: Zmienna systemowa innodb_support_xa, która umożliwia obsługę zatwierdzania dwufazowego w transakcjach XA, jest przestarzała. Obsługa InnoDB dla zatwierdzania dwufazowego w transakcjach XA jest zawsze włączona od wersji MySQL 5.7.10. Wyłączenie opcji innodb_support_xa nie jest już dozwolone, ponieważ powoduje ona, że replikacja jest niebezpieczna i zapobiega wzrostowi wydajności związanemu z zatwierdzaniem grupy dziennika binarnego.
Co nowego w wersji 5.7.19 GA:
- Informacje o zabezpieczeniach:
- Poprzednio MySQL obsługiwał tylko protokół TLSv1 dla zaszyfrowanych połączeń. Obsługa TLS została rozszerzona, aby umożliwić wyższy poziom bezpieczeństwa zaszyfrowanych połączeń ...
- Podczas kompilacji przy użyciu dołączonej wersji yaSSL, MySQL obsługuje protokoły TLSv1 i TLSv1.1.
- Podczas kompilacji przy użyciu OpenSSL 1.0.1 lub nowszej wersji MySQL obsługuje protokoły TLSv1, TLSv1.1 i TLSv1.2.
- Domyślnie MySQL podejmuje próbę użycia najwyższej dostępnej wersji protokołu TLS, w zależności od tego, która biblioteka SSL została użyta do skompilowania serwera i klienta i który rozmiar klucza jest używany.
- Ponieważ TLSv1.2 wymaga OpenSSL, obsługa tego protokołu jest dostępna w dystrybucjach binarnych tylko dla MySQL Commercial Server, a nie dla MySQL Community Server (który jest kompilowany przy użyciu yaSSL). Aby włączyć obsługę TLSv1.2, jeśli kompilujesz ze źródła, musisz ustawić opcję WITH_SSL CMake, aby używać OpenSSL podczas konfigurowania MySQL.
- Nowa zmienna systemowa tls_version umożliwia określenie protokołów TLS dozwolonych przez serwer podczas uruchamiania. Po stronie klienta opcja -tls-version zezwala na określenie protokołów TLS dozwolonych przez programy klienckie dla każdego wywołania klienta.
- Funkcja API mysql_options () C ma nową opcję MYSQL_OPT_TLS_VERSION, która umożliwia określenie protokołów TLS dozwolonych przez program klienta w bibliotece klienta.
- Dodano lub zmieniono funkcjonalność:
- InnoDB: Zmienna systemowa innodb_support_xa, która umożliwia obsługę zatwierdzania dwufazowego w transakcjach XA, jest przestarzała. Obsługa InnoDB dla zatwierdzania dwufazowego w transakcjach XA jest zawsze włączona od wersji MySQL 5.7.10. Wyłączenie opcji innodb_support_xa nie jest już dozwolone, ponieważ powoduje ona, że replikacja jest niebezpieczna i zapobiega wzrostowi wydajności związanemu z zatwierdzaniem grupy dziennika binarnego.
Co nowego w wersji 5.7.18 GA:
- Informacje o zabezpieczeniach:
- Poprzednio MySQL obsługiwał tylko protokół TLSv1 dla zaszyfrowanych połączeń. Obsługa TLS została rozszerzona, aby umożliwić wyższy poziom bezpieczeństwa zaszyfrowanych połączeń ...
- Podczas kompilacji przy użyciu dołączonej wersji yaSSL, MySQL obsługuje protokoły TLSv1 i TLSv1.1.
- Podczas kompilacji przy użyciu OpenSSL 1.0.1 lub nowszej wersji MySQL obsługuje protokoły TLSv1, TLSv1.1 i TLSv1.2.
- Domyślnie MySQL podejmuje próbę użycia najwyższej dostępnej wersji protokołu TLS, w zależności od tego, która biblioteka SSL została użyta do skompilowania serwera i klienta i który rozmiar klucza jest używany.
- Ponieważ TLSv1.2 wymaga OpenSSL, obsługa tego protokołu jest dostępna w dystrybucjach binarnych tylko dla MySQL Commercial Server, a nie dla MySQL Community Server (który jest kompilowany przy użyciu yaSSL). Aby włączyć obsługę TLSv1.2, jeśli kompilujesz ze źródła, musisz ustawić opcję WITH_SSL CMake, aby używać OpenSSL podczas konfigurowania MySQL.
- Nowa zmienna systemowa tls_version umożliwia określenie protokołów TLS dozwolonych przez serwer podczas uruchamiania. Po stronie klienta opcja -tls-version zezwala na określenie protokołów TLS dozwolonych przez programy klienckie dla każdego wywołania klienta.
- Funkcja API mysql_options () C ma nową opcję MYSQL_OPT_TLS_VERSION, która umożliwia określenie protokołów TLS dozwolonych przez program klienta w bibliotece klienta.
- Dodano lub zmieniono funkcjonalność:
- InnoDB: Zmienna systemowa innodb_support_xa, która umożliwia obsługę zatwierdzania dwufazowego w transakcjach XA, jest przestarzała. Obsługa InnoDB dla zatwierdzania dwufazowego w transakcjach XA jest zawsze włączona od wersji MySQL 5.7.10. Wyłączenie opcji innodb_support_xa nie jest już dozwolone, ponieważ powoduje ona, że replikacja jest niebezpieczna i zapobiega wzrostowi wydajności związanemu z zatwierdzaniem grupy dziennika binarnego.
Co nowego w wersji 5.7.17 GA:
- Informacje o zabezpieczeniach:
- Poprzednio MySQL obsługiwał tylko protokół TLSv1 dla zaszyfrowanych połączeń. Obsługa TLS została rozszerzona, aby umożliwić wyższy poziom bezpieczeństwa zaszyfrowanych połączeń ...
- Podczas kompilacji przy użyciu dołączonej wersji yaSSL, MySQL obsługuje protokoły TLSv1 i TLSv1.1.
- Podczas kompilacji przy użyciu OpenSSL 1.0.1 lub nowszej wersji MySQL obsługuje protokoły TLSv1, TLSv1.1 i TLSv1.2.
- Domyślnie MySQL podejmuje próbę użycia najwyższej dostępnej wersji protokołu TLS, w zależności od tego, która biblioteka SSL została użyta do skompilowania serwera i klienta i który rozmiar klucza jest używany.
- Ponieważ TLSv1.2 wymaga OpenSSL, obsługa tego protokołu jest dostępna w dystrybucjach binarnych tylko dla MySQL Commercial Server, a nie dla MySQL Community Server (który jest kompilowany przy użyciu yaSSL). Aby włączyć obsługę TLSv1.2, jeśli kompilujesz ze źródła, musisz ustawić opcję WITH_SSL CMake, aby używać OpenSSL podczas konfigurowania MySQL.
- Nowa zmienna systemowa tls_version umożliwia określenie protokołów TLS dozwolonych przez serwer podczas uruchamiania. Po stronie klienta opcja --tls-version zezwala na określenie protokołów TLS dozwolonych przez programy klienckie dla każdego wywołania klienta.
- Funkcja API mysql_options () C ma nową opcję MYSQL_OPT_TLS_VERSION, która umożliwia określenie protokołów TLS dozwolonych przez program klienta w bibliotece klienta.
- Dodano lub zmieniono funkcjonalność:
- InnoDB: Zmienna systemowa innodb_support_xa, która umożliwia obsługę zatwierdzania dwufazowego w transakcjach XA, jest przestarzała. Obsługa InnoDB dla zatwierdzania dwufazowego w transakcjach XA jest zawsze włączona od wersji MySQL 5.7.10. Wyłączenie opcji innodb_support_xa nie jest już dozwolone, ponieważ powoduje ona, że replikacja jest niebezpieczna i zapobiega wzrostowi wydajności związanemu z zatwierdzaniem grupy dziennika binarnego.
Co nowego w wersji 5.7.16 GA:
- Informacje o zabezpieczeniach:
- Poprzednio MySQL obsługiwał tylko protokół TLSv1 dla zaszyfrowanych połączeń. Obsługa TLS została rozszerzona, aby umożliwić wyższy poziom bezpieczeństwa zaszyfrowanych połączeń ...
- Podczas kompilacji przy użyciu dołączonej wersji yaSSL, MySQL obsługuje protokoły TLSv1 i TLSv1.1.
- Podczas kompilacji przy użyciu OpenSSL 1.0.1 lub nowszej wersji MySQL obsługuje protokoły TLSv1, TLSv1.1 i TLSv1.2.
- Domyślnie MySQL podejmuje próbę użycia najwyższej dostępnej wersji protokołu TLS, w zależności od tego, która biblioteka SSL została użyta do skompilowania serwera i klienta i który rozmiar klucza jest używany.
- Ponieważ TLSv1.2 wymaga OpenSSL, obsługa tego protokołu jest dostępna w dystrybucjach binarnych tylko dla MySQL Commercial Server, a nie dla MySQL Community Server (który jest kompilowany przy użyciu yaSSL). Aby włączyć obsługę TLSv1.2, jeśli kompilujesz ze źródła, musisz ustawić opcję WITH_SSL CMake, aby używać OpenSSL podczas konfigurowania MySQL.
- Nowa zmienna systemowa tls_version umożliwia określenie protokołów TLS dozwolonych przez serwer podczas uruchamiania. Po stronie klienta opcja --tls-version zezwala na określenie protokołów TLS dozwolonych przez programy klienckie dla każdego wywołania klienta.
- Funkcja API mysql_options () C ma nową opcję MYSQL_OPT_TLS_VERSION, która umożliwia określenie protokołów TLS dozwolonych przez program klienta w bibliotece klienta.
- Dodano lub zmieniono funkcjonalność:
- InnoDB: Zmienna systemowa innodb_support_xa, która umożliwia obsługę zatwierdzania dwufazowego w transakcjach XA, jest przestarzała. Obsługa InnoDB dla zatwierdzania dwufazowego w transakcjach XA jest zawsze włączona od wersji MySQL 5.7.10. Wyłączenie opcji innodb_support_xa nie jest już dozwolone, ponieważ powoduje ona, że replikacja jest niebezpieczna i zapobiega wzrostowi wydajności związanemu z zatwierdzaniem grupy dziennika binarnego.
Co nowego w wersji 5.7.15 GA:
- Informacje o zabezpieczeniach:
- Poprzednio MySQL obsługiwał tylko protokół TLSv1 dla zaszyfrowanych połączeń. Obsługa TLS została rozszerzona, aby umożliwić wyższy poziom bezpieczeństwa zaszyfrowanych połączeń ...
- Podczas kompilacji przy użyciu dołączonej wersji yaSSL, MySQL obsługuje protokoły TLSv1 i TLSv1.1.
- Podczas kompilacji przy użyciu OpenSSL 1.0.1 lub nowszej wersji MySQL obsługuje protokoły TLSv1, TLSv1.1 i TLSv1.2.
- Domyślnie MySQL podejmuje próbę użycia najwyższej dostępnej wersji protokołu TLS, w zależności od tego, która biblioteka SSL została użyta do skompilowania serwera i klienta i który rozmiar klucza jest używany.
- Ponieważ TLSv1.2 wymaga OpenSSL, obsługa tego protokołu jest dostępna w dystrybucjach binarnych tylko dla MySQL Commercial Server, a nie dla MySQL Community Server (który jest kompilowany przy użyciu yaSSL). Aby włączyć obsługę TLSv1.2, jeśli kompilujesz ze źródła, musisz ustawić opcję WITH_SSL CMake, aby używać OpenSSL podczas konfigurowania MySQL.
- Nowa zmienna systemowa tls_version umożliwia określenie protokołów TLS dozwolonych przez serwer podczas uruchamiania. Po stronie klienta opcja --tls-version zezwala na określenie protokołów TLS dozwolonych przez programy klienckie dla każdego wywołania klienta.
- Funkcja API mysql_options () C ma nową opcję MYSQL_OPT_TLS_VERSION, która umożliwia określenie protokołów TLS dozwolonych przez program klienta w bibliotece klienta.
- Dodano lub zmieniono funkcjonalność:
- InnoDB: Zmienna systemowa innodb_support_xa, która umożliwia obsługę zatwierdzania dwufazowego w transakcjach XA, jest przestarzała. Obsługa InnoDB dla zatwierdzania dwufazowego w transakcjach XA jest zawsze włączona od wersji MySQL 5.7.10. Wyłączenie opcji innodb_support_xa nie jest już dozwolone, ponieważ powoduje ona, że replikacja jest niebezpieczna i zapobiega wzrostowi wydajności związanemu z zatwierdzaniem grupy dziennika binarnego.
Co nowego w wersji 5.7.14 GA:
- Informacje o zabezpieczeniach:
- Poprzednio MySQL obsługiwał tylko protokół TLSv1 dla zaszyfrowanych połączeń. Obsługa TLS została rozszerzona, aby umożliwić wyższy poziom bezpieczeństwa zaszyfrowanych połączeń ...
- Podczas kompilacji przy użyciu dołączonej wersji yaSSL, MySQL obsługuje protokoły TLSv1 i TLSv1.1.
- Podczas kompilacji przy użyciu OpenSSL 1.0.1 lub nowszej wersji MySQL obsługuje protokoły TLSv1, TLSv1.1 i TLSv1.2.
- Domyślnie MySQL podejmuje próbę użycia najwyższej dostępnej wersji protokołu TLS, w zależności od tego, która biblioteka SSL została użyta do skompilowania serwera i klienta i który rozmiar klucza jest używany.
- Ponieważ TLSv1.2 wymaga OpenSSL, obsługa tego protokołu jest dostępna w dystrybucjach binarnych tylko dla MySQL Commercial Server, a nie dla MySQL Community Server (który jest kompilowany przy użyciu yaSSL). Aby włączyć obsługę TLSv1.2, jeśli kompilujesz ze źródła, musisz ustawić opcję WITH_SSL CMake, aby używać OpenSSL podczas konfigurowania MySQL.
- Nowa zmienna systemowa tls_version umożliwia określenie protokołów TLS dozwolonych przez serwer podczas uruchamiania. Po stronie klienta opcja --tls-version zezwala na określenie protokołów TLS dozwolonych przez programy klienckie dla każdego wywołania klienta.
- Funkcja API mysql_options () C ma nową opcję MYSQL_OPT_TLS_VERSION, która umożliwia określenie protokołów TLS dozwolonych przez program klienta w bibliotece klienta.
- Dodano lub zmieniono funkcjonalność:
- InnoDB: Zmienna systemowa innodb_support_xa, która umożliwia obsługę zatwierdzania dwufazowego w transakcjach XA, jest przestarzała. Obsługa InnoDB dla zatwierdzania dwufazowego w transakcjach XA jest zawsze włączona od wersji MySQL 5.7.10. Wyłączenie opcji innodb_support_xa nie jest już dozwolone, ponieważ powoduje ona, że replikacja jest niebezpieczna i zapobiega wzrostowi wydajności związanemu z zatwierdzaniem grupy dziennika binarnego.
Co nowego w wersji 5.7.13 GA:
- Informacje o zabezpieczeniach:
- Poprzednio MySQL obsługiwał tylko protokół TLSv1 dla zaszyfrowanych połączeń. Obsługa TLS została rozszerzona, aby umożliwić wyższy poziom bezpieczeństwa zaszyfrowanych połączeń ...
- Podczas kompilacji przy użyciu dołączonej wersji yaSSL, MySQL obsługuje protokoły TLSv1 i TLSv1.1.
- Podczas kompilacji przy użyciu OpenSSL 1.0.1 lub nowszej wersji MySQL obsługuje protokoły TLSv1, TLSv1.1 i TLSv1.2.
- Domyślnie MySQL podejmuje próbę użycia najwyższej dostępnej wersji protokołu TLS, w zależności od tego, która biblioteka SSL została użyta do skompilowania serwera i klienta i który rozmiar klucza jest używany.
- Ponieważ TLSv1.2 wymaga OpenSSL, obsługa tego protokołu jest dostępna w dystrybucjach binarnych tylko dla MySQL Commercial Server, a nie dla MySQL Community Server (który jest kompilowany przy użyciu yaSSL). Aby włączyć obsługę TLSv1.2, jeśli kompilujesz ze źródła, musisz ustawić opcję WITH_SSL CMake, aby używać OpenSSL podczas konfigurowania MySQL.
- Nowa zmienna systemowa tls_version umożliwia określenie protokołów TLS dozwolonych przez serwer podczas uruchamiania. Po stronie klienta opcja --tls-version zezwala na określenie protokołów TLS dozwolonych przez programy klienckie dla każdego wywołania klienta.
- Funkcja API mysql_options () C ma nową opcję MYSQL_OPT_TLS_VERSION, która umożliwia określenie protokołów TLS dozwolonych przez program klienta w bibliotece klienta.
- Dodano lub zmieniono funkcjonalność:
- InnoDB: Zmienna systemowa innodb_support_xa, która umożliwia obsługę zatwierdzania dwufazowego w transakcjach XA, jest przestarzała. Obsługa InnoDB dla zatwierdzania dwufazowego w transakcjach XA jest zawsze włączona od wersji MySQL 5.7.10. Wyłączenie opcji innodb_support_xa nie jest już dozwolone, ponieważ powoduje ona, że replikacja jest niebezpieczna i zapobiega wzrostowi wydajności związanemu z zatwierdzaniem grupy dziennika binarnego.
Co nowego w wersji 5.7.11 GA:
- Informacje o zabezpieczeniach:
- Poprzednio MySQL obsługiwał tylko protokół TLSv1 dla zaszyfrowanych połączeń. Obsługa TLS została rozszerzona, aby umożliwić wyższy poziom bezpieczeństwa zaszyfrowanych połączeń ...
- Podczas kompilacji przy użyciu dołączonej wersji yaSSL, MySQL obsługuje protokoły TLSv1 i TLSv1.1.
- Podczas kompilacji przy użyciu OpenSSL 1.0.1 lub nowszej wersji MySQL obsługuje protokoły TLSv1, TLSv1.1 i TLSv1.2.
- Domyślnie MySQL podejmuje próbę użycia najwyższej dostępnej wersji protokołu TLS, w zależności od tego, która biblioteka SSL została użyta do skompilowania serwera i klienta i który rozmiar klucza jest używany.
- Ponieważ TLSv1.2 wymaga OpenSSL, obsługa tego protokołu jest dostępna w dystrybucjach binarnych tylko dla MySQL Commercial Server, a nie dla MySQL Community Server (który jest kompilowany przy użyciu yaSSL). Aby włączyć obsługę TLSv1.2, jeśli kompilujesz ze źródła, musisz ustawić opcję WITH_SSL CMake, aby używać OpenSSL podczas konfigurowania MySQL.
- Nowa zmienna systemowa tls_version umożliwia określenie protokołów TLS dozwolonych przez serwer podczas uruchamiania. Po stronie klienta, opcja --tls wersja pozwala protokoły TLS dopuszczone przez programy klienckie, które zostaną określone na wywołanie klienta.
- Funkcja API mysql_options () C ma nową opcję MYSQL_OPT_TLS_VERSION, która umożliwia określenie protokołów TLS dozwolonych przez program klienta w bibliotece klienta.
- Dodano lub zmieniono funkcjonalność:
- InnoDB: Zmienna systemowa innodb_support_xa, która umożliwia obsługę zatwierdzania dwufazowego w transakcjach XA, jest przestarzała. Obsługa InnoDB dla zatwierdzania dwufazowego w transakcjach XA jest zawsze włączona od wersji MySQL 5.7.10. Wyłączenie opcji innodb_support_xa nie jest już dozwolone, ponieważ powoduje ona, że replikacja jest niebezpieczna i zapobiega wzrostowi wydajności związanemu z zatwierdzaniem grupy dziennika binarnego.
Co nowego w wersji 5.7.10 GA:
- Informacje o zabezpieczeniach:
- Poprzednio MySQL obsługiwał tylko protokół TLSv1 dla zaszyfrowanych połączeń. Obsługa TLS została rozszerzona, aby umożliwić wyższy poziom bezpieczeństwa zaszyfrowanych połączeń ...
- Podczas kompilacji przy użyciu dołączonej wersji yaSSL, MySQL obsługuje protokoły TLSv1 i TLSv1.1.
- Podczas kompilacji przy użyciu OpenSSL 1.0.1 lub nowszej wersji MySQL obsługuje protokoły TLSv1, TLSv1.1 i TLSv1.2.
- Domyślnie MySQL podejmuje próbę użycia najwyższej dostępnej wersji protokołu TLS, w zależności od tego, która biblioteka SSL została użyta do skompilowania serwera i klienta i który rozmiar klucza jest używany.
- Ponieważ TLSv1.2 wymaga OpenSSL, obsługa tego protokołu jest dostępna w dystrybucjach binarnych tylko dla MySQL Commercial Server, a nie dla MySQL Community Server (który jest kompilowany przy użyciu yaSSL). Aby włączyć obsługę TLSv1.2, jeśli kompilujesz ze źródła, musisz ustawić opcję WITH_SSL CMake, aby używać OpenSSL podczas konfigurowania MySQL.
- Nowa zmienna systemowa tls_version umożliwia określenie protokołów TLS dozwolonych przez serwer podczas uruchamiania. Po stronie klienta, opcja --tls wersja pozwala protokoły TLS dopuszczone przez programy klienckie, które zostaną określone na wywołanie klienta.
- Funkcja API mysql_options () C ma nową opcję MYSQL_OPT_TLS_VERSION, która umożliwia określenie protokołów TLS dozwolonych przez program klienta w bibliotece klienta.
- Dodano lub zmieniono funkcjonalność:
- InnoDB: Zmienna systemowa innodb_support_xa, która umożliwia obsługę zatwierdzania dwufazowego w transakcjach XA, jest przestarzała. Obsługa InnoDB dla zatwierdzania dwufazowego w transakcjach XA jest zawsze włączona od wersji MySQL 5.7.10. Wyłączenie opcji innodb_support_xa nie jest już dozwolone, ponieważ powoduje ona, że replikacja jest niebezpieczna i zapobiega wzrostowi wydajności związanemu z zatwierdzaniem grupy dziennika binarnego.
Co nowego w wersji 5.6.26 GA / 5.7.5 Milestone 16:
- To wydanie dodaje obsługę Debian 8 i Ubuntu 15.04.
Co nowego w wersji 5.6.25 GA / 5.7.5 Milestone 16:
- Informacje o zabezpieczeniach:
- Połączona biblioteka OpenSSL dla serwera komercyjnego MySQL została zaktualizowana z wersji 1.0.1j do wersji 1.0.1k. Problemy rozwiązane w nowej wersji są opisane na stronie http://www.openssl.org/news/vulnerabilities.html.
- Ta zmiana nie ma wpływu na zbudowaną przez Oracle wersję MySQL Community MySQL Server, która używa biblioteki yaSSL. (Bug # 20375530)
- Dodano lub zmieniono funkcjonalność:
- Obsługa protokołów SSL 2.0 i SSL 3.0 została wyłączona, ponieważ zapewniają one słabe szyfrowanie. (Bug # 19820550)
- yaSSL został uaktualniony do wersji 2.3.7. (Bug # 19695101, Bug # 20201864)
- Poprawny zakres dat certyfikatów SSL w mysql-test / std_data został przedłużony do roku 2029. (Bug # 18366947)
- Naprawione błędy:
- InnoDB: Operacja eksportu obszaru tabel ustawiła stan czyszczenia na PURGE_STATE_STOP, ale wątek czyszczący nie sprawdzał stanu czyszczenia przed zakończeniem bieżącej operacji czyszczenia. W przypadku dużej listy historii operacja eksportu obszaru tabel była opóźniona, czekając na zakończenie bieżącej operacji czyszczenia. Stan czyszczenia jest teraz sprawdzany przy każdej serii czyszczenia. (Bug # 20266847, Bug # 75298)
- InnoDB: ALTER TABLE ... Operacja ADD INDEX podniosła asercję z powodu kodu asercji, który nie zezwalał na indeksowanie online stanu ONLINE_INDEX_ABORTED_DROPPED. Kod asercji został złagodzony. (Bug # 20198726)
- InnoDB: Wystąpił błąd, gdy funkcja push_warning_printf została wywołana podczas odzyskiwania serwera. Ta funkcja była wcześniej używana do drukowania ostrzeżenia dla klienta. Ponadto current_thd miał wartość NULL po zrestartowaniu serwera. (Bug # 20144839)
- InnoDB: Operacja ALTER TABLE, która zmieniła nazwę kolumny klucza obcego, spowodowała błąd podczas ponownego ładowania ograniczenia klucza obcego. Poprzednia nazwa kolumny pozostała w pamięci podręcznej słownika danych, zamiast eksmisji. (Bug # 20031243)
- InnoDB: Zaktualizowano komunikaty o błędach dotyczące ograniczenia rozmiaru dla danych BLOB lub TEXT wstawionych w pojedynczej transakcji. (Bug # 19975322)
- InnoDB: Operacje DML w tabeli z indeksami wyszukiwania pełnotekstowego podniosły nieprawidłową asercję. (Bug # 19905246)
- Piśmiennictwo: Ten błąd jest regresem błędu nr 19314480.
- InnoDB: Operacja usuwania wielu tabel spowodowała zatrzymanie serwera. (Bug # 19815702)
- InnoDB: operacja FLUSH TABLES podniosła asercję. (Bug # 19803418)
- InnoDB: Po włączeniu buforowania zmian buforowana sekwencja operacji, które nie powinny być buforowane, spowodowała brak możliwości usunięcia błędu rekordu. (Bug # 19528825, Bug # 73767)
- InnoDB: na platformach innych niż Windows funkcje os-file_pread i os_file_pwrite zwracają -1, gdy wystąpi błąd. Ta wartość została wydrukowana w komunikacie błędu jako liczba odczytanych lub zapisanych bajtów. Zamiast drukowania wartości -1 w komunikacie o błędzie, drukowany jest osobny komunikat o błędzie informujący o niepowodzeniu wywołania systemowego. Podziękowania dla Davida Bennetta za łatkę. (Bug # 19315210, Bug # 73365)
- InnoDB: powolne wyłączenie (innodb_fast_shutdown = 0) po odzyskaniu awarii spowodowało podniesienie asercji. Wolne wyłączanie nie czekało na zakończenie operacji wycofywania tła przed kontynuowaniem. (Bug # 16862810)
- InnoDB: Wartość kolumny całkowitej została niewłaściwie potraktowana dla memcached poleceń incr i decr. (Bug # 69415, Bug # 20083106, Bug # 74874, Bug # 20044123)
- Partycjonowanie: Niepowodzenie ALTER TABLE ... TRUNCATE PARTITION lub niepoprawna instrukcja TRUNCATE TABLE względem tabeli podzielonej na partycje czasami pozostawiały niespójne metadane w pamięci podręcznej tabeli; kolejne instrukcje SQL ponownie używające tych metadanych nie powiodły się, aw niektórych przypadkach mogą również doprowadzić do awarii serwera. (Bug # 74292, Bug # 19786861)
- Replikacja: Jeśli wątek klienta na slave został wykonany z tablic FLUSH z blokadą odczytu, podczas gdy master wykonał DML, wykonanie STATUSU POKAŻ SLAVE w tym samym kliencie zostało zablokowane, powodując zakleszczenie. Poprawka zapewnia, że blokada odczytu jest utrzymywana tylko w czasie, gdy protokół przekaźnika jest aktualizowany i unika się zakleszczenia. (Bug # 19843808)
- Replikacja: Gdy transakcja XA była aktywna, wykonanie wewnętrznego wycofania, na przykład za pomocą instrukcji BINLOG, spowodowało asercję. Poprawka zapewnia, że wycofanie następuje tylko dla slave, gdy transakcja obejmuje wiele plików dziennika binarnego. Cofanie nie dzieje się teraz, jeśli Format_description pochodzi od instrukcji BINLOG wykonywanej w kliencie MySQL. (Bug # 74597, Bug # 19928622)
- Replikacja: w normalnym użytkowaniu slave nie ma więcej GTIDów niż master. Ale w pewnych sytuacjach, na przykład po awarii sprzętu lub nieprawidłowym wyczyszczeniu gtid_purged, log binarny mistrza może zostać obcięty. Ta poprawka zapewnia, że w takiej sytuacji urządzenie master wykrywa teraz, że urządzenie podrzędne ma transakcje z identyfikatorami GTID, które nie znajdują się w systemie głównym. Błąd jest teraz generowany na urządzeniu slave, a wątek we / wy zostaje zatrzymany z błędem. Wątek zrzutu mistrza również został zatrzymany. Zapobiega to niespójnościom danych podczas replikacji. (Bug # 72635, Bug # 18789758)
- Replikacja: Podczas korzystania z STATUSU POKAŻ SLAVE, aby monitorować wydajność replikacji, Seconds_Behind_Master czasami wyświetlał nieoczekiwane opóźnienie w stosunku do wzorca. Było to spowodowane tym, że Previous_gtids_log_events zapisywane są w logu przekaźnika slave z sygnaturą czasową za wzorcem, a następnie są używane do obliczenia Seconds_Behind_Master. Ta poprawka zapewnia, że zdarzenia generowane na slave, które są dodawane do dziennika przekaźników i nie są używane podczas obliczania Seconds_Behind_Master. (Bug # 72376, Bug # 18622657)
- W systemie Ubuntu 14.10 operacje instalacji MySQL mogą nie przeładować AppArmor. (Bug # 20092641)
- EXPLAIN w ramach transakcji XA może wzbudzić asercję. (Bug # 19941492)
- Pliki dziennika binarnego utworzone przez strumieniowe przesyłanie dziennika binarnego ze zdalnego serwera za pomocą mysqlbinlog otrzymały tryb dostępu bardziej dozwolony niż oryginalne pliki. (Bug # 19649868)
- Jeśli w wtyczce audit_log wystąpił błąd związany z dyskiem, serwer zostanie zamknięty.
- Teraz, jeśli system plików, do którego zapisywany jest dziennik inspekcji, wypełnia się, do dziennika błędów zapisywany jest błąd "na dysku". Rejestrowanie inspekcji jest kontynuowane do momentu zapełnienia bufora dziennika kontroli. Jeśli wolne miejsce na dysku nie zostanie udostępnione do czasu zapełnienia bufora, sesje klienta zostaną zawieszone, a zatrzymanie serwera w momencie zawieszenia sesji klienta spowoduje uszkodzenie dziennika inspekcji. Aby tego uniknąć, jeśli sesje klienta są zawieszone, upewnij się, że wolne miejsce jest dostępne w systemie plików rejestrowania kontroli przed zatrzymaniem serwera. (Bug # 19411485)
- W przypadku niepowodzenia utworzenia tabeli tymczasowej z powodu braku deskryptorów plików, serwer zakończył działanie, a nie zwrócił błąd. (Bug # 18948649)
- W przypadku niektórych zapytań, które zawierały wyprowadzoną tabelę (podzapytanie w klauzuli FROM), opóźnienie materializacji spowodowało suboptymalny plan wykonania z powodu mniej dokładnego oszacowania liczby wierszy. (Bug # 18607971)
- W instrukcjach UPDATE i DELETE serwer może wyjść po próbie uzyskania dostępu do niezainicjowanej struktury danych. (Bug # 18036143)
- Uruchomienie serwera z usługą startową lub mysqld_safe może spowodować niepoprawne użycie właściwego katalogu wtyczek. (Bug # 17619241)
- Tabele FLUSH na tabeli FEDERATED nie powiodły się, jeśli tabela była bezczynna dłużej niż czas wait_timeout plus czas utrzymywania TCP. (Błąd # 17599258)
- Zaznaczenie wszystkich kolumn z INFORMATION_SCHEMA.TABLES nie otworzyło ponownie tabel, jeśli znajdowały się one w pamięci podręcznej tabeli, ale wybranie podzbioru tych kolumn w tych samych warunkach spowodowało ponowne otwarcie tabel. (Bug # 16869534)
- Jeśli funkcja my_write () napotka warunek z dyskiem, może zwrócić nieprawidłową wartość błędu. (Bug # 16078792, Bug # 19984788)
- InnoDB boolowskie wyszukiwania pełnotekstowe niepoprawnie obsługiwane + połączone z nawiasami; na przykład + słowo1 + (& gt; słowo2
Komentarze nie znaleziono