ホームページ >データベース >mysql チュートリアル >MySQL が「localhost」を「127.0.0.1」とは異なる方法で扱うのはなぜですか?

MySQL が「localhost」を「127.0.0.1」とは異なる方法で扱うのはなぜですか?

DDD
DDDオリジナル
2024-11-25 02:47:10727ブラウズ

Why Does MySQL Treat `localhost` Differently Than `127.0.0.1`?

MySQL localhost != 127.0.0.1?

この不一致は、ホスト名なしで呼び出されたとき、または「localhost」を使用して呼び出されたときの MySQL のソケットの使用が原因で発生します。 ' ホスト名。以下に示すように、ホスト名「127.0.0.1」で MySQL を使用すると TCP/IP ソケット経由で接続します:

$ mysql -u root -h 127.0.0.1 -e 'show tables' created_from_host;
+-----------------------------+
| Tables_in_created_from_host |
+-----------------------------+
| test                        |
+-----------------------------+

ただし、「localhost」を使用すると UNIX ソケット経由で接続するため、次のエラーが発生します:

$ mysql -u root -h localhost -e 'show tables' created_from_host;
ERROR 1049 (42000): Unknown database 'created_from_host'

すべてのホストからすべてのデータベースに対するすべての権限を付与する方法root?

「root」ユーザーに無制限の権限を付与するには、次の SQL ステートメントを実行します:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

追加の考慮事項:

  • skip_networking 変数: この変数を確認してくださいTCP/IP 接続を有効にするには、「OFF」に設定されています。
  • 'user' テーブル: 'mysql.user' テーブルをチェックして、'root' ユーザーに次のホスト レコードがあることを確認します。 「localhost」と「127.0.0.1」の両方。

以上がMySQL が「localhost」を「127.0.0.1」とは異なる方法で扱うのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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