最近、データベース分野での争いが話題になっています。「
PG vs MySQL、世界一はどっち?」コメントエリアにメッセージを残してください: https://www.oschina.net/comment/news/249930
来週、両陣営はそれぞれOSCのTシャツを送るアイデアを描く。
-
EXPLAIN FORMAT=JSON 出力をキャプチャすると、 オプション
EXPLAIN FORMAT=JSON
が追加されINTO
、出力を JSON 形式でユーザー変数に保存できます。 -
クライアントのコメントを保持します。MySQL8.1 は mysql クライアントのコメントを保持します。以前の動作を使用する必要がある場合は、--skip-comments オプションを使用する必要があります。
-
MySQL レプリケーションは SOURCE_RETRY_COUNT を変更し、
CHANGE REPLICATION SOURCE TO
ステートメント内の SOURCE_RETRY_COUNT のデフォルト値は 10 に変更されます。つまり、このオプションと SOURCE_CONNECT_RETRY(60) のデフォルト値を使用すると、レプリカは再接続試行の間に 60 秒待機し、タイムアウトしてフェイルオーバーする前に 10 分間この速度で再接続を試行します。 -
group_replication_set_as_primary() および DDL ステートメントでは、新しいプライマリ ノードを選択する前に、group_replication_set_as_primary() 関数は、すべてのトランザクションが完了する前に進行中の DDL ステートメントを待機する必要があります。
-
バージョン固有のコメントで使用される MySQL バージョン番号は、1 桁または 2 桁で構成されるメジャー バージョンをサポートするようになりました。つまり、バージョン全体の長さを 5 桁または 6 桁にすることができるようになりました。
-
シャットダウン プロセスのログの強化 MySQL サーバー、プラグイン、およびコンポーネントの起動メッセージとシャットダウン メッセージの追加、シャットダウン プロセスのログの強化により、特にサーバーのシャットダウンに時間がかかる場合のトラブルシューティングと問題のデバッグに役立つ追加機能が提供されます。
-
SHOW PARSE_TREE语句,
select文のjson形式の解析ツリーを表示するためにこの文を追加しました。このステートメントは、運用環境ではなく、テストと開発の場合にのみ使用してください。デバッグビルドでのみ使用されます -
tls-certificates-enforsed-validation システム変数が追加され、DBA がサーバーの起動時、または実行時に ALTER INSTANCE RELOAD TLS ステートメントを使用して証明書をリロードするときに証明書の検証を強制できるようになりました。強制を有効にすると、無効な証明書が見つかると起動時にサーバー呼び出しが停止され、実行時に無効な証明書が読み込まれることがなくなり、警告が発行されます。
-
ネットワークの不安定性の診断とトラブルシューティングを改善するグループ レプリケーション プラグイン固有のステータス変数をいくつか追加し、各グループ メンバーのネットワーク使用状況、制御メッセージ、およびデータ メッセージに関する統計を提供します。
-
LDAP サーバーがダウンしているか応答していない場合に、LDAP プラガブル認証を使用して MySQL サーバーに接続している MySQL アカウントが待機する時間を制御するサーバー システム変数を追加しました。次の単純な sasl ベースの LDAP 認証バリアントの場合、新しいデフォルトのタイムアウトは 30 秒で、接続および応答のタイムアウトは Linux プラットフォームのシステム変数を介してのみ構成可能です。詳細については、「LDAP プラガブル認証のタイムアウトの設定」を参照してください。
新機能に加えて、MySQL8.0.34と基本的に整合する以下の調整が行われています。
ユーザー管理の面では、パスワード検証用のシステム変数「validate_password.changed_characters_percentage」が追加されました。この変数は、パスワードを変更するときにユーザーが変更する必要がある文字数を構成するために使用されます。現在のパスワードの文字の割合として計算されます。この変数の値が 50 に設定されていると仮定すると、新しいパスワードの少なくとも半分の文字を変更する必要があります。
MySQL監査に関しては、監査プラグインのインストール時にログフィルタ条件を格納するデータベースを指定できる新機能が追加されました。例えば、
$> mysql -u root -D database_name -p < audit_log_filter_linux_install.sql
さらに、MySQL Audit には、スケジューラ コンポーネントを使用して定期的なタスクを構成および実行し、メモリ キャッシュをリフレッシュする新しい機能が追加されています。
バイナリ ログに関しては、新しい関数 mysql_binlog_open()、mysql_binlog_fetch()、および mysql_binlog_close() が libmysqlclient.so ライブラリに追加され、開発者が MySQL サーバーのバイナリ ログにアクセスできるようになりました。
互換性のために、Windows の MSVC_CPPCHECK サポートが改善され、「メンテナンス」モードで同様の MSVC 警告がチェックされます。
Windows のコンパイルに関しては、WIN_DEBUG_NO_INLINE=1 のサポートが改善され、使用量がライブラリ内のオブジェクトの制限 65535 を超えます。
さらに、robin-hood-hashing、ICU ファイル、ZSTD のバージョンがアップグレードされました。
MySQL はバックアップ用の mysql シェルと mysqldump を提供しているため、mysqlpump はダウングレードされ、使用時に警告プロンプトが表示されます。この製品は将来非推奨になります。
レプリケーションに使用されるサーバー変数「sync_relay_log_info」、「binlog_format」は、このバージョンではダウングレードされ、将来的には非推奨になる予定です。したがって、それに関連付けられている「log_bin_trust_function_creators」と「log_statements_unsafe_for_binlog」もダウングレードされ、最終的には非推奨になります。「binlog_format」が非推奨になった後は、MySQL のバイナリ ログ フォーマットは「行ベース」のみをサポートすることに注意してください。
グループレプリケーションに使用されるサーバー変数「group_replication_recovery_complete_at」と「mysql_native_password」認証プラグインはダウングレードされ、将来非推奨になる予定です。
さらに、監査ログを含む従来のフィルタリング モード、mysql_ssl_rsa_setup プログラム、およびキーリング ファイル プラグインもダウングレードされ、将来非推奨になる予定です。
ユーザーは、以前のバージョン固有のコメント「/*!80034KEY_BLOCK_SIZE=1024*/ または /*!80034 KEY_BLOCK_SIZE=1024*/」ではバージョン番号の後のスペースが考慮されないことに注意する必要がありますが、この動作は将来のバージョンでは変更される可能性があります。そのため、このバージョンからはバージョン番号の後ろにスペースを入れてご利用ください。
SQL 構文に関して、このバージョンでは、テーブル作成ステートメントまたはテーブル変更ステートメント内の Varchar または TEXT タイプのフィールドのデフォルト値として、CURRENT_USER()、SESSION_USER()、USER()、および SYSTEM_USER() の使用がサポートされています。
上記の変更と非推奨に加えて、MySQL 8.1 および MySQL 8.0.34 バージョンでは多くのバグ修正が行われ、MySQ L8.0 は安定した状態になりました。詳しい変更内容については、MySQL 公式 Web サイトをご覧ください 。