ホームページ >データベース >mysql チュートリアル >macOS で MySQL ユーザー テーブルにパスワード フィールドがないのはなぜですか?

macOS で MySQL ユーザー テーブルにパスワード フィールドがないのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-29 01:53:15515ブラウズ

Why is My MySQL User Table Missing the Password Field on macOS?

MySQL ユーザー テーブルのパスワード フィールドが見つからない - macOS での MySQL インストールのトラブルシューティング

macOS で MySQL root パスワードを変更しようとすると、ユーザーテーブルに「パスワード」列が存在しないことを示すエラーが発生しました。通常、パスワード フィールドは MySQL ユーザー テーブルに存在するため、これは不可解になる可能性があります。

背景:

MySQL バージョン 5.7 では、ユーザー テーブルに大幅な変更が加えられました。 。元の「password」フィールドは削除され、ユーザーのパスワードを保存するための「authentication_string」フィールドに置き換えられました。この変更は、セキュリティを強化し、さまざまな認証方法を有効にすることを目的としています。

トラブルシューティング:

問題を解決するには、パスワードに適切なフィールド名を使用する必要があります。

解決策:

  1. 次のコマンドを使用して MySQL コンソールにアクセスします:

    mysql -u root

    (注:以前に設定した場合はパスワードを入力する必要があります1 つ。)

  2. 次のクエリを使用して、root ユーザーのパスワードを更新します。

    mysql> UPDATE user SET authentication_string = PASSWORD('1111') WHERE user = 'root';
  3. このクエリは、ハッシュされた文字列で「authentication_string」フィールドを更新します。
  4. MySQL を終了します。 console.

追加情報:

  • 正しいデータベース (例: mysql) を選択していることを確認してください:

    mysql> USE mysql;
  • ユーザーのフィールド構造を確認しますtable:

    mysql> DESCRIBE user;

    これにより、テーブル スキーマが表示され、「authentication_string」フィールドが存在することが確認されます。

  • MySQL でのパスワード管理の詳細については、MySQL の公式ドキュメントを参照してください。 5.7 以降:
    https://dev.mysql.com/doc/refman/5.7/en/authentication-passwords.html

以上がmacOS で MySQL ユーザー テーブルにパスワード フィールドがないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。