メインコンテンツへスキップ

AIQUM を 9.16P2D23 にアップグレードすると、MySQL ERROR 4058 認証ポリシーの不一致が発生して失敗します

Views:
3
Visibility:
Public
Votes:
0
Category:
active-iq-unified-manager
Specialty:
OM
Last Updated:

環境

  • Active IQ Unified Manager 9.16P2(AIQUM)
  • D-Patch 9.16P2D23
  • すべてのOSプラットフォーム(OVA、RHEL、Windows)
  • MySQL 8.4.x

問題

  • MySQLユーザ認証の移行中にAIQUM 9.16P2D23へのアップグレードが失敗する
  • アップグレードスクリプトがjboss MySQLユーザをmysql_native_passwordからcaching_sha2_passwordに変更しようとして失敗する
  • アップグレードログ(/var/log/ocum/upgrade-XXXXXXXX.log)の内容:
ERROR 4058 (HY000) at line 1: Authentication method 'caching_sha2_password'{2} does not match authentication policy '{3}'. It must match at least one of the policies listed in '@@authentication_policy'.
  • エラーは、実行時のplatformbaseUpgrade()関数で発生します:
ALTER USER 'jboss'@'localhost' IDENTIFIED WITH caching_sha2_password BY '<password>';

原因

  • D23アップグレードスクリプトは、MySQL設定でauthentication_policy='caching_sha2_password,,'を設定し、ALTER USERを実行してユーザをmysql_native_passwordからcaching_sha2_passwordに切り替えます
  • MySQL 8.4は認証ポリシーを厳密に適用します—任意のALTER USER ... IDENTIFIED WITHステートメントはauthentication_policyシステム変数に準拠する必要があります
  • AUTHENTICATION_POLICY_ADMIN権限により、この適用をバイパスできます
  • 影響を受けるシステムでは、MySQLのrootユーザにAUTHENTICATION_POLICY_ADMIN権限がないため、ALTER USERがERROR 4058で失敗します
  • この権限は通常デフォルトで存在しますが、MySQLインスタンスが移行された場合、バックアップから復元された場合、または以前のトラブルシューティング中に権限が変更された場合は存在しない可能性があります

解決策

  • アップグレード前のVMスナップショットに戻す
  • NetApp Technical Supportに連絡するか、NetApp Support Siteにログインしてテクニカルケースを作成してください。詳細については、この記事を参照してください。
  • サポートエンジニアがMySQLの権限設定を確認して修正してから、アップグレードを再試行します。

パートナーノート

  • この問題は、D23パッチアップグレードパス(9.16P2→9.16P2D23)にのみ影響し、新規インストールには影響しません
  • 権限チェックは、アップグレードを試みる前に事前検証として実行する必要があります

内部情報

警告

  • 以下の手順はMySQLの直接操作を伴うため、L2エンジニアのみが実行する必要があります。
  • 顧客やパートナーにMySQLコマンドを提供しないでください。

解決策手順(レベル2のみ)

  1. アップグレード前のVMスナップショットに戻す
  2. rootとしてMySQLシェルにアクセスします:
    • OVA:Active IQ Unified Manager仮想マシン(OVA)DIAGシェルへのアクセス方法に従ってDIAGシェルアクセスを有効にし、sudo -sでroot権限を取得してから、mysqlを実行します(パスワード不要認証)
    • RHEL:rootとしてSSH接続し、mysqlを実行します(ソケット認証によるパスワード不要認証)
    • Windows:管理者権限でコマンドプロンプトを開き、mysql -u root -pを実行します(MySQLのrootパスワードが必要)
  3. 不足している権限を確認します:
    SHOW GRANTS FOR 'root'@'localhost';
    AUTHENTICATION_POLICY_ADMINが出力にリストされていないことを確認します
  4. 不足している権限を付与します:
    GRANT AUTHENTICATION_POLICY_ADMIN ON *.* TO 'root'@'localhost';
    FLUSH PRIVILEGES;
  5. 権限付与が適用されたことを確認します:
    SHOW GRANTS FOR 'root'@'localhost';
    AUTHENTICATION_POLICY_ADMINが表示されることを確認します
  6. MySQLを終了し、D23アップグレードを再試行します

追加のコンテキスト

  • ケース:2010685358(Alarm.com)
  • アップグレードスクリプト/cdrom/update-oc.sh関数platformbaseUpgrade()は以下のシーケンスを実行します:
    1. authentication_policy='caching_sha2_password,,'/etc/mysql/mysql.conf.d/mysqld.cnfに書き込みます
    2. ポリシーを適用するためにMySQLを再起動します
    3. ALTER USER 'jboss'@'localhost' IDENTIFIED WITH caching_sha2_password BY '...'を実行します
  • ステップ3は、ポリシーが適用されているにもかかわらず、rootにそれを回避するための管理者権限がないため失敗します
  • 権限が欠落している根本原因は不明です。以前のトラブルシューティングで権限が変更されたか、動的権限が保持されなかったMySQLのアップグレード/復元パスが原因である可能性があります
  • 他のお客様からはこのような特定の障害は報告されていません。これは非標準のMySQL状態によるエッジケースである可能性が高いです
  • アップグレード前の事前チェック:
    SELECT * FROM mysql.global_grants WHERE USER='root' AND HOST='localhost' AND PRIV='AUTHENTICATION_POLICY_ADMIN';
    1行を返す必要があります。空の場合は、権限が欠落しているため、アップグレード前に適用する必要があります。

Sign in to view the entire content of this KB article.

New to NetApp?

Learn more about our award-winning Support

NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.