MySQL

翻訳 MySQL 5.7 リリースノート

MYSQL 5.7 リリースノート

dev.mysql.com Doc Search:

MySQL 5.7.29の変更(2020-01-13、一般提供)

監査ログのメモ

  • ANALYZE TABLEステートメントは、読み取り監査イベントを生成するようになりました。バグ#29625461)

梱包ノート

  • システムのcurlライブラリにリンクするのではなくcurlを含むバイナリパッケージが、curl 7.66.0を使用するようにアップグレードされました。バグ#30356844)

修正されたバグ

  • InnoDB:GCC 9.2.0でMySQLをコンパイルすると、os_file_get_parent_dir警告が発生しました。 (バグ#30499288、バグ#97466)
  • InnoDB:新しく追加された外部に保存されたフィールドをフェッチし、悲観的な更新中または以前のバージョンのレコードに戻るときに更新するために使用される内部関数(btr_push_update_extern_fields())は不要になりました。新しく追加された外部保存フィールドは、別の関数によって更新されます。また、外部に保存されたフィールドの数を決定するために使用される方法が修正されました。バグ#30342846)
  • InnoDB:空間インデックスの非リーフページをマージしようとしたときに、比較関数が2つのレコードが等しいことを検出しました。関数はこの予期しない状態を処理できなかったため、長いセマフォ待機と最終的なアサーションエラーが発生しました。バグ#30287668)
  • InnoDB:異なるDATA DIRECTORY句でソーステーブルと宛先テーブルが定義されているために失敗したテーブルスペースインポート操作で、不十分な説明のスキーマ不一致エラーが報告されました。さらに、.cfgファイルが存在しない場合、同じ操作でアサーションエラーが発生します。データディレクトリの不一致が原因でインポート操作が終了する前に、より有益なエラーメッセージが両方のケースで報告されるようになりました。 (バグ#30190199、バグ#30190227、バグ#20644698、バグ#76142)
  • InnoDB:変更レコードに変更ツリー構造が必要かどうかを検出するbtr_cur_will_modify_tree()関数で使用される基準が不十分でした。バグ#30113362)
  • InnoDB:ALTER TABLE … DISCARD TABLESPACE操作がハング状態を引き起こした。 (バグ#29942556、バグ#30324703)
  • InnoDB:セッション一時テーブルの暗黙的から明示的なセカンダリインデックスロックへの不要な変換を禁止することで、コードの回帰に対処しました。バグ#29718243)
  • InnoDB:削除マークの付いたレコードのパージ中に、カーソルが破損したページに置かれたときに、テーブルスペースのインポート操作でアサーションが発生しました。破損したページに遭遇したときにアサートする代わりに、インポート操作が終了し、エラーが報告されます。 (バグ#29454828、バグ#94541)
  • レプリケーション:メンバーがレプリケーショングループに参加または再参加しているときに、グループレプリケーションが分散リカバリプロセスでエラーを検出すると(参加しているメンバーが既存のオンラインメンバーから状態転送を受信して​​いる間)、自動的に新しいドナーに切り替えます。状態転送を再試行します。参加するメンバーが諦める前に再試行する回数は、group_replication_recovery_retry_countシステム変数によって設定されます。パフォーマンススキーマテーブルのreplication_applier_status_by_workerには、最後の再試行の原因となったエラーが表示されます。以前は、このエラーは、グループメンバーが(slave_parallel_workersシステム変数で設定された)並列レプリケーションアプライヤースレッドで構成されている場合にのみ表示されました。グループメンバーが単一のアプライヤースレッドで構成されている場合、内部のRESET SLAVE操作によって再試行するたびにエラーがクリアされたため、表示できませんでした。これは、単一または複数のアプライヤースレッドがあったかどうかに関係なく、SHOW SLAVE STATUSコマンドの出力にも当てはまります。分散リカバリの再試行後にRESET SLAVE操作が実行されなくなったため、最後の再試行の原因となったエラーを常に表示できます。 (バグ#30517160、バグ#30517172、バグ#97540)
  • レプリケーション:障害が発生したレプリケーショングループメンバーが少数派グループに再度参加しようとして、それを許可されなかった場合、メモリリークが発生する可能性がありました。 (バグ#30162547、バグ#96471)
  • レプリケーション:マスターログファイル名とマスターログ位置を指定していないCHANGE MASTER TOステートメントを使用してレプリケーションスレーブがセットアップされた場合、START SLAVEが発行される前にシャットダウンし、オプション–relay-log-recoveryで再起動しましたセット、レプリケーションは開始されませんでした。これは、リレーログの回復が試行される前にレシーバースレッドが開始されていなかったため、リレーログでマスターログファイル名とマスターログの位置を提供するログローテーションイベントが利用できなかったために発生しました。この状況では、スレーブはリレーログのリカバリをスキップして警告をログに記録してから、レプリケーションの開始に進みます。 (バグ#28996606、バグ#93397)
  • レプリケーション:レプリケーションマスターとスレーブでGTIDが有効で、スレーブがMASTER_AUTO_POSITION = 1オプションを設定してマスターに接続する場合、マスターはスレーブがまだ受信、コミット、またはその両方を行っていないすべてのトランザクションをスレーブに送信する必要があります。マスターが送信する必要のあるトランザクションのいずれかがマスターのバイナリログから既にパージされている場合、マスターはエラーER_MASTER_HAS_PURGED_REQUIRED_GTIDS(1789)をスレーブに送信し、レプリケーションは開始されません。
  • エラーER_MASTER_HAS_PURGED_REQUIRED_GTIDSに対して提供されるメッセージは、この状況での正しいアクションに関するアドバイスを提供するように変更されました。これは、スレーブが不足しているトランザクションを別のソースから複製するか、スレーブを別のソースから作成された新しいスレーブに置き換えるためです最近のバックアップ。メッセージは、マスターのバイナリログの有効期限を変更できることを通知します
  • macOS:macOSでは、MySQLを-DWITH_SSL = systemで構成すると、mysql_config出力に静的SSLライブラリの内部CMake名が誤って含まれていました。 (バグ#30541879、バグ#97632)
  • サーバーの構築に使用されるOpenSSLのバージョンと、ライブラリやプラグインなどのMySQLの他の部分に使用されるバージョンとの間に不一致がある可能性があります。これにより、LDAP認証プラグインなどの特定の機能が動作しなくなる可能性があります。これで、すべてのビルドに同じバージョンのOpenSSLが使用されます。 (バグ#30573696、バグ#30515370)
  • DockerパッケージにはLDAP認証プラグインがありませんでした。バグ#30465247)
  • 派生テーブルのフィールドの元のテーブル名は、常に正しく表示されるとは限りませんでした。バグ#30362898)

参照:参照:バグ#24611344。この問題は、バグ#22364401のリグレッションです。

  • MySQL Installerは、Windows Server 2012でMySQL 5.7をアンインストールできませんでした。(Bug#30323924、Bug#96940)
  • 複数のセッションがAUTO_INCREMENT列を持つテーブルにINSERT … ON DUPLICATE KEY UPDATEステートメントを同時に実行すると、AUTO_INCREMENT値を指定しないと、一意のインデックス違反で挿入が失敗する可能性があります。 (バグ#30194841、バグ#96578)
  • lower_case_table_names = 2を使用すると、SHOW TABLESは大文字の名前のテーブルを表示できなくなる可能性があります。バグ#29957361)
  • サーバーの起動時にコマンドラインでkeyring_encrypted_file_passwordを設定すると、パスワード値がシステムユーティリティに表示される可能性があります。バグ#29848634)
  • LOCK TABLESステートメントが有効になっていると、ロックされたテーブルのメタデータが変更されると、セッション変数のパフォーマンススキーマまたはSHOWクエリがopening_tables状態でハングする可能性があります。 (バグ#29836204、バグ#92387)
  • A AND(B OR C [OR …])という形式のWHERE条件を使用したSELECTにより、範囲が不可能になり、サーバーの予期しない終了が発生しました。バグ#29770705)
  • JSON形式の監査ロギングの場合、idフィールドに65535より大きい値が含まれる可能性があります。以前は、ロギングアクティビティを行うと、ID値に許可されている16ビットを超えて、毎秒65536を超えるクエリを実行できました。バグ#29661920)
  • 不完全な接続パケットは、クライアントが認証プラグイン名を適切に初期化しない原因となる可能性があります。バグ#29630767)
  • libmysqlclient Cクライアントライブラリを使用したクライアントプログラムは、不正なセッショントラッキング情報を含むOKパケットを受信すると終了する可能性があります。 (バグ#29297620、バグ#29630735)
  • 特定の条件下で、read_onlyまたはsuper_read_onlyシステム変数を有効にしても、SUPER権限のないユーザーが実行する同時DDLステートメントはブロックされませんでした。 (バグ#28438114、バグ#91852)
  • mysqlpumpは、無効なビューが含まれているデータベースをダンプするのではなく、設計上終了しますが、無効なビューが存在していても、ダンプされるデータベースのいずれにもない場合も失敗しました。バグ#27096081)
MySQL
MySQL

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Scroll to top