MySQLの5.6、5.7、8.0バージョンの新機能Daquanの

MySQLの歴史のために、私はここでそれらを繰り返さない、とすでにお馴染みの多くの人が信じています。ここだけその開発プロセスのマイルストーンをコーミング製品特性の観点から。

内部使用のみのために1995年には、MySQL 1.0のリリース。

1996年には、MySQL 3.11.1リリースは、MySQLの2.xバージョンをスキップします。

1999年には、MySQL ABが設立されました。同じ年では、MySQLの3.23リリース、このバージョンは、Berkeley DBストレージエンジンを搭載しています。会社のSleepycatによって開発されたエンジンは、支持取引。統合プロセスのエンジンでは、ソースコードは、それがその後のプラガブルなストレージエンジンアーキテクチャの基礎を築いた、形質転換されました。

2000年には、MyISAMストレージエンジンのアップグレードにISAM。同じ年には、GPLオープンソースの合意の下でのMySQL。

2002年には、MySQL 4.0リリースでは、後に有名なInnoDBストレージエンジンを統合します。エンジンは、あるInnobase社によって開発されたトランザクションをサポートし、並行性の高いOLTPのシーンのための行レベルのロックをサポートしていました。

2008年には、MySQL ABの100億ドルの買収で日 同じ年で、それはタイマー(イベントスケジューラ)、パーティション、およびその他の特性ベースのレプリケーションラインをサポートするために始めた、MySQLの5.1をリリースしました。

2009年には、OracleのSun Microsystems社の74億ドルの買収へ。

2010年には、MySQLの5.5次の主要な機能とアップデートが含まれてリリース。

  • MyISAMの代わりにMySQLのInnoDBがデフォルトのストレージエンジンになります。
  • 多核膨張がより完全にマルチコアCPUであってもよいです。
  • インデックスを迅速に作成するためのサポートを含むのInnoDBのパフォーマンスは、リフトのテーブルの圧縮性能I / Oサブシステムは、メインスレッドからの剥離のパージ操作は、バッファプールのインスタンスを複数に分割します。
  • 準同期レプリケーション。
  • 紹介utf8mb4文字セットは、絵文字表現を格納するために使用することができます。
  • 紹介メタデータロック(ロックメタデータ)。
  • 強化されたパーティションテーブル、二つの新しいパーティションタイプ:RANGE列とリストの列。
  • MySQLのエンタープライズ導入のスレッドプール。
  • 番号(innodb_read_io_threads、innodb_write_io_threads)はIOスレッドを読み書きするように構成することができます。これに先立ち、数が1で、かつ非設定可能。
  • リフレッシュダーティページの数を制御するinnodb_io_capacityオプションの導入。


2013年、MySQLの5.6次の主要な機能とアップデートが含まれてリリース。

  • GTIDコピー。
  • ロスレスコピー。
  • 遅延の複製。
  • パラレルライブラリレベルをコピーします。
  • mysqlbinlogは、リモートバックアップのbinlogすることができます。
  • TIMEの場合は、DATETIMEおよびTIMESTAMPは、小数秒をサポートするために再構築されて。DATETIMEスペース要件は前に5バイトに8バイトから減少しています。
  • オンラインDDL。ALTER操作はもはやDMLをブロックしていません。
  • トランスポータブル表領域(トランスポータブル表領域)。
  • 永続的な統計。マスタとスレーブ間の回避、またはデータベースを再起動した後、SQLの実行計画との違いがあります。
  • フルテキストインデックス。
  • InnoDBのMemcachedのプラグイン。
  • など、EXPLAIN DELETE実行計画を表示するために使用することができ、INSERT、REPLACE、UPDATE DML操作、この前に、唯一のSELECT操作をサポートしています。
  • パーティションは明示的操作を指定し、パーティションおよび非パーティションテーブルとの間のデータの交換をサポートするために利用可能な最大パーティション8192の数を増やすなど、パーティションテーブルを補強。
  • 512G、前4Gから延長合計サイズ制限をREDOログ。
  • IOはSSDのランダムな、より適切な場所であるため、元に戻すログテーブルは、独立した空間に格納することができます。しかし、まだ自動回収空間をサポートしていません。
  • 状態が長いウォームアップ時間後にデータベースを再起動する必要がなくなり、バッファプールをダンプして読み込むことができます。
  • リフト内部InnoDBの性能は、分割されたカーネルミューテックス、独立リフレッシュのスレッドを含む、パージは、複数のスレッドを提供することができます。
  • サブクエリのために最適化オプティマイザ性能、ICP、MRR、BKAおよび他の特徴の導入。

MySQL 5.6は現在、製品版で最も広く使われているアプリケーションであるMySQLバージョン、の歴史の中で画期的な出来事である、と言うことができます。

2015年、MySQLの5.7次の主要な機能とアップデートが含まれてリリース。

  • グループのコピー
  • InnoDBのクラスタ
  • マルチソースのコピー
  • 強化準同期(AFTER_SYNC)
  • 並列コピーWRITESETに基づきます。
  • オンラインオープンGTIDコピー。
  • オンライン複製フィルタリングルールを設定します。
  • オンラインバッファプールのサイズを変更します。
  • 同じ長さの符号化されたバイトに、VARCHARのサイズは、一時テーブルを作成することなく、メタデータテーブルのみを修正する修正します。
  • NUMAアーキテクチャでは、メモリ割り当て戦略(innodb_numa_interleave)を設定することができます。
  • 透明ページ圧縮(透明ページ圧縮)。
  • 表スペース自動復旧を元に戻します。
  • クエリオプティマイザ再構築と強化。
  • (接続のためにEXPLAIN)SQL実行計画を表示するには、現在実行されています。
  • プラグインのクエリ書き換え(クエリー・リライトプラグイン)の導入は、クエリがサーバ上に書き換えることができます。
  • JSONの情報を表示しコストFORMATをEXPLAIN =、これは直接2つの実行計画のメリットを比較することができます。
  • Oracleでのインデックスの機能に似た仮想列の導入、。
  • 新しいインスタンスは、もは​​やテスト・データベースと匿名を作成するには、デフォルトのユーザーではありません。
  • ALTER USERコマンドを導入すると、ユーザーパスワードの有効期限ポリシー、パスワード、およびロックユーザーを変更するために使用することができます。
  • パスワードフィールドからパスワードを保存mysql.userテーブルにはauthentication_stringに変更されます。
  • 表スペースの暗号化。
  • そのメモリ使用量を減らし、パフォーマンススキーマを最適化されました。
  • パフォーマンスのスキーマは、計装の数を導入しています。一般的にメモリ使用量の計測機器で使用MySQLはメモリ使用量を表示するために使用することができ、メタデータロック計装は、MDLの保有を表示するために使用することができ、ステージの進捗状況の計測、オンラインDDLの進行状況を表示するために使用することができます。
  • 同じトリガ・イベント(INSERT、DELETE、UPDATE)は、同一のトリガ時間(前、後)は、複数のトリガの作成を可能にします。これに先立ち、唯一のトリガーを作成することができます。
  • パーティションテーブル用のInnoDBネイティブサポートは、その前に、インターフェイスはha_partitionによって実装されます。
  • パーティションテーブルのサポートトランスポータブル表スペースのプロパティ。
  • SYS統合データベースは、MySQLは管理と異常なポジショニングの問題を簡素化します。
  • JSONタイプのネイティブサポート、およびJSON関数の数を導入しています。
  • これは、テーブルレベルのマルチスレッドのバックアップをサポートするために、新しい論理バックアップツール-mysqlpumpを紹介します。
  • :それは3つの言語をサポート-mysqlsh、新しいクライアントツール紹介のJavaスクリプト、およびSQLを。APIの二種類:前者はInnoDBのクラスタを管理するために使用される文書のMySQLデータベースとして動作することができる、請求、X DevAPI、AdminAPIを、。
  • インスタンスを初期化するためにmysql_install_dbののmysqldは、交換することが--initialize。
  • 原生支持systemd。
  • super_read_onlyオプションを導入しました。
  • 長い(max_execution_timeに)タイムアウトがオペレーションを選択したときに提供されてもよいです。
  • 例としては、MySQLのSHUTDOWNコマンドで閉じることができます。
  • 高並行性のシナリオの下で導入されたオプションInnodb_deadlock_detect、このオプションでは、デッドロックの検出をオフにするために使用することができます。
  • 導入オプティマイザ・ヒントは、そのようなこの前、などICP、MRRを開くかどうかなど、文レベルのオプティマイザの動作に制御することができる、唯一のインデックスがヒント。
  • Boost.Geometry代替前GISアルゴリズムの使用を含むGISの機能強化は、InnoDBは、空間インデックスをサポートするために始めました。

2018年、MySQLの8.0次の主要な機能とアップデートが含まれてリリース。

  • InnoDBのデータ・ディクショナリに基づいて、ネイティブの紹介。データ・ディクショナリ表は、他のシステムテーブルのmysqlデータベースのように、mysql.ibdデータディレクトリにファイルを保存し、ユーザーには見えない、mysqlデータベースに配置されています。もはやmysqlディレクトリの下に置かれていません。
  • アトミックDDL。
  • 部品表をビュー・データ・ディクショナリ、前に一時テーブルに基づいて復元されるINFORMATION_SCHEMAの再建。
  • PERFORMANCE_SCHEMAクエリのパフォーマンスは、それが複数のインデックスを構築しました。
  • 目に見えないインデックス(インビジブルインデックス)。
  • インデックスを降順。
  • ヒストグラム。
  • 共通テーブル式(共通テーブル式)。
  • 窓関数(窓関数)。
  • 役割(役割)。
  • 現時点で、リソースのみのCPUを管理することができ、リソースグループ(リソースグループ)は、リソースを制御するために使用することができ、スレッドの優先順位を使用することができます。
  • 導入innodb_dedicated_serverオプションは、動的innodb_buffer_pool_size innodb_log_file_sizeとinnodb_flush_methodメモリベースのサーバーを設定することができます。
  • クイックプラスカラム(ALGORITHM =インスタント)。
  • JSONフィールドは(JSON部分更新)更新されます。
  • 自動インクリメントの主キー持続。
  • 永続的なグローバル変数(SET PERSIST)が必要です。
  • utf8mb4にlatin1のデフォルトの文字セットを変更します。
  • テーブルのデフォルトで有効になった空間、およびオンラインサポート調整(innodb_undo_tablespaces)の数を元に戻します。MySQLの5.7では、デフォルトでは、それが唯一の初期化時に設定することができ、開くために、オープンされていません。
  • バックアップのロック。
  • ユーザスレッドを複数備え、最適化をREDOログが同時書き込みがバッファをログできます、あなたは動的innodb_log_buffer_sizeのサイズを変更することができます。
  • デフォルトの認証プラグインmysql_native_passwordのcaching_sha2_passwordへの変更。
  • デフォルトのメモリの一時テーブルは前者に比べて、TempTableのエンジンMEMORYエンジンから変化し、後者は、VARCHAR、VARBINARY、および他の可変長フィールド格納された可変長をサポートします。MySQLの8.0.13以降では、BLOBフィールドのTempTableのエンジンのサポート。
  • グラントは、もはや暗黙的に作成したユーザーではありません。
  • 声明SHARE ... FOR SELECT導入およびUPDATE NOWAIT SELECT ... FORと電気の問題ホットラインのビジネスシーンを解決するためにロックオプションをスキップします。
  • 正規表現の拡張、新しい4相関関数、REGEXP_INSTR()、REGEXP_LIKE()、REGEXP_REPLACE()、REGEXP_SUBSTR()。
  • 実施計画の開発におけるクエリオプティマイザは、バッファー・プール内のデータかどうかを検討します。その前に、仮定は、ディスク上のデータ。
  • パーティションテーブルを使用する場合ha_partition界面層のみInnoDBストレージエンジン、コードから除去されます。
  • 今SUPER権限を付与されたSUPER権限を交換するために、よりきめの細かい権限の導入は、警告を促すメッセージが表示されます。
  • GROUP BYステートメントは、もはや暗黙の順序ではありません。
  • 導入のMySQL 5.7表領域の暗号化機能は、REDOログおよびUNDOログを暗号化します。
  • innodb_locksのINFORMATION_SCHEMAとinnodb_lock_waitsテーブルdata_locksのperformance_schemaとdata_lock_waitsテーブルに置き換え、除去されます。
  • performance_schema.variables_infoテーブルの導入は、起源やパラメータの修正を記録します。
  • クライアントのエラーメッセージの増加統計(performance_schema.events_errors_summary_xxx)。
  • 統計クエリの応答時間分布(コールsys.ps_statement_avg_latency_histogram())。
  • 直接カラム名を変更するサポート(new_nameにCOLUMNのOLD_NAMEの名前を変更... ALTER TABLEを)。
  • ユーザパスワードは、戦略(再利用ポリシー)を再試行するように設定することができます。
  • PASSWORD()関数を削除します。これは、ユーザーのパスワードを変更するには、「パスワードを設定... = PASSWORD( 『auth_string』)」コマンドではないことを意味します。
  • 関連する変数と演算子のクエリキャッシュはもはやサポートされているように、コードクエリキャッシュモジュール層は、削除されません。
  • BLOB、TEXT、GEOMETRYとJSONフィールドのデフォルト値を設定することができます。
  • あなたは、RESTARTコマンドを使用してMySQLインスタンスを再起動することができます。

なお、上記公報には、一般的にGAバージョンを指すことに留意されたいです。

最後に、次の表を見て、テーブルには、いくつかの大きな時間の最新リリースを示しており、この本のように、その小さなリリース時の最新バージョンを公開しています。

テーブルビューのデータから、

1.はおそらく、三年ごとにメジャーバージョンをリリースする予定。

2.製品サポートサイクルは、一般的に8年です。

MySQLの5.5は、丘のように古いですが、当局はまだ常に更新3。

おすすめ

転載: www.linuxidc.com/Linux/2019-09/160664.htm