MySQL 8.0.24 リリースノートのいくつかの改善点

MySQL 8.0.24 リリースノートのいくつかの改善点

4月20日に、MySQL 8.0がバージョン8.0.24にアップデートされました。夕方にリリースノートを読んで、いくつかの改善点を整理しました。ここに記録しました。後でテストするために、対応するバージョンをダウンロードできます。

1. 接続管理

1. より詳細な接続情報

以前のバージョンでは、MySQL 接続が長時間 MySQL サービスとやり取りしなかった場合、具体的な理由情報なしで、MySQL サーバーが停止したことを示す出力メッセージが表示されていました。

新しいバージョンの MySQL サーバーでは、接続が閉じられる前に、接続が閉じられた理由がクライアントに書き込まれます。クライアントは、より詳細な情報を確認して、接続が閉じられた理由を分析できます。

2. 接続エラーメッセージにポート番号が含まれている

これは主に接続エラー メッセージの変更であり、ポート情報が追加されています。

変更前:
エラー 2003 (HY000): '127.0.0.1' の MySQL サーバーに接続できません (10061)
変更後:
エラー 2003 (HY000): '127.0.0.1:63333' の MySQL サーバーに接続できません

2. オプティマイザレベルでの改善

MySQL のクエリ オプティマイザーは、外部結合を使用して派生テーブルを含むサブクエリを最適化できるようになりました。サブクエリにすでに明示的なグループ化がある場合、MySQL は既存のグループ化リストの末尾に追加のグループ化を追加します。

以下にいくつか例を挙げます。

SQL:
SELECT * FROM t1 WHERE (SELECT a FROM t2 WHERE t2.a=t1.a) > 0
最適化後:
SELECT t1.* FROM t1 LEFT OUTER JOIN (SELECT a, COUNT(*) AS ct FROM t2 GROUP BY a) AS derived ON t1.a = derived.a WHERE derived.a > 0.

3. 機能の改善

1. AUTOEXTEND_SIZE の最大値が 64MB から 4GB に増加しました。このオプションは MySQL 8.0.23 で導入され、テーブルスペースがいっぱいになったときに innodb が拡張できる最大容量を定義します。このパラメータは、create table、a​​lter table、create tablespace、alter tablespace などの構文で使用できます。

2. clone_donor_timeout_after_network_failure クローン プラグイン変数は、ネットワーク障害後にクローン プラグインのドナーが受信者に再接続してクローンを再開することを許可する時間を定義します。このタイムアウトは以前は 5 分に固定されていました。ネットワークの問題を解決するための時間を増やすために、タイムアウトを 30 分まで延長できるようになりました。

3. クライアント アプリケーションがセット名構文を使用する場合、文字セットが utf8 であれば、utf8 ではなく utf8mb3 として表示されます。

実はこの変更は予想通りです。結局、utf8mb4 が徐々に utf8 に取って代わり、主流になってきました。

4. MGR の動作中に許可リストの値を更新したり、MGR を再起動せずに MGR の許可リストに新しいメンバーを追加したりできます。

5. --skip-slave-start パラメータの機能は、MySQL サービスが再起動されたときにレプリケーション関係が自動的に開始されないようにすることです。以前のバージョンでは、このパラメータは my.cnf で変更するか、コマンドラインでパラメータを追加することで変更できました。どちらの方法でも、MySQL サーバーが配置されているホスト サーバーにログインする必要があります。新しいバージョンの MySQL では、このパラメータはこの制限の対象にならず、永続性構成ファイルの set persist_only ステートメントを使用して設定できます。このようにして、どのクライアントからでも変更を実行できます。 MySQL サービスが配置されているホスト マシンにログインする必要はありません。

4. パフォーマンススキーマの最適化

この分野についてはあまり研究されていません。興味のある方は、公式ウェブサイトを確認してください。

5. バグ修正

全体的に、このバージョンでは主に以前のバージョンのバグを修正しており、200 を超えるバグが修正されています。MGR などの高可用性コンポーネントの更新はそれほど多くありません。

バグ修正について言えば、MySQL のマイナー バージョンを選択するためのガイドは次のとおりです。

一般的には、現在の MySQL バージョンのリリース ノートを確認してください。現在のバージョンのリリース ノートにバグ修正が少ないことがわかった場合、以前のバージョンにはバグが少なかったことを意味します。この場合、現在のバージョンの前の MySQL バージョンまたは現在のバージョンを選択する方が適切です。新しいバージョンには新しい機能がある可能性があるため、現在のバージョンが推奨されます。

現在のバージョンに多くのバグ修正がある場合は、以前のバージョンに多くのバグがあったことを意味するため、選択することはお勧めできません。現在のバージョンには多くのバグ修正があり、安定しているとは限りませんので、様子を見るか、適切な MySQL バージョンを探すことをお勧めします。

上記は、MySQL 8.0.24 バージョンのリリース ノートでいくつかの改善点の詳細です。MySQL リリース ノートの改善点の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MySQL 8.0.24 バージョンのインストールと設定方法のグラフィックチュートリアル
  • MySQL 8.0.24 のインストールと設定方法のグラフィックチュートリアル
  • Java から MySQL 8.0 JDBC に接続するための詳細な手順 (IDEA バージョン)
  • MySQL 8.0 のメモリ消費の詳細な分析
  • MySql8.023 インストール プロセスの詳細なグラフィック説明 (初回インストール)
  • MySQL 8.0 の新機能 - 管理ポートの使用の概要
  • MySQL 8.0 の新機能 - チェック制約の紹介
  • mysql8.0.23 msi インストールの超詳細なチュートリアル
  • MySQL 8.0.23 無料インストールバージョンの設定詳細チュートリアル
  • win10 で mysql8.0.23 をインストールし、「サービスが制御機能に応答しません」という問題を解決する方法
  • MySQL 8.0 の非表示列に対する基本操作

<<:  docker を使用して hbase をデプロイする方法

>>:  jsを使用して写真をアップロードする機能を実現する

推薦する

Windows Apache 環境で SSL 証明書を展開して、Web サイトを https 対応にする方法

SSL 証明書の使用についてはここでは説明しません。SSL 証明書を導入する必要がある友人は、すでに...

Linux で一般的なソフトウェアを設定する方法

新しいLinuxサーバーを入手する場合、通常は次の5つの構成を実行する必要があります。 HOSTAN...

HTML+CSS+jQuery はスクリーンショットで検索ホットリストタブ効果を模倣します

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

MySQL5.7 マスタースレーブ構成例の分析

MySQL5.7マスタースレーブ構成の実装方法、具体的な内容は次のとおりですインストール環境:マスタ...

Vue 要素と Nuxt の使用に関するヒントを共有する

1. 要素時間選択提出フォーマット変換例えば 2018年9月7日金曜日 00:00:00 GMT+0...

MySQL インデックスの効率的な使用ガイド

序文ほとんどの方がMySQLとインデックスを使用したことがあると思いますが、適切なインデックスを作成...

VMware12 に CentOS8 をインストールする方法 (VM 仮想マシンに CentOS8 をインストールするチュートリアル)

数日前に CentOS8 がリリースされました。8 の最初のバージョンですが、今日は VM12 に ...

閲覧時に作成されたWebページの下部にある余分な空白スペースを削除する方法

Dreamweaver または FrontPage を使用して HTML Web ページを作成する場...

MySQL 8.0.12 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.12のインストールと設定方法を記録してみんなで共有します。 1. インストール1...

CSS フロントエンドの知識ポイントのまとめ(必読)

1. CSS の概念: (カスケーディング スタイル シート)利点: 1. コンテンツとプレゼンテ...

Vueユーザーが長時間操作せずにログインページからログアウトするように実装する2つの方法

目次問題の説明フロントエンド制御(方法1)アイデアコードバックエンド制御(方法2)アイデアコード要約...

MySQL に 1,000 万件のレコードを素早く挿入する方法

面接で「MySQL に 1,000 万件のレコードをすばやく挿入するにはどうすればよいか」という質問...

Docker 環境で JMeter+Grafana+influxdb ビジュアル パフォーマンス監視プラットフォームを構築するチュートリアル

目次1. Dockerをインストールする2. influxDBをインストールして設定する3. Gra...

Dockerイメージ内のファイルを表示する方法

Dockerイメージ内のファイルを表示する方法1. すでに実行中の場合すでに実行中のイメージについて...

Centos 用の rpm パッケージのカスタマイズと yum リポジトリの構築に関するチュートリアル

1 yumでソフトウェアをインストールしたときにダウンロードしたrpmパッケージを保存しますyum ...