Mysql localhost != 127.0.0.1?
違いを理解する
に接続する場合ホスト名を指定したり、ホスト名を使用したりしない MySQL データベース「localhost」、unix mysqld はソケットを利用します。ただし、ホストとして IP アドレス「127.0.0.1」を使用すると、ネットワーク接続がトリガーされます。
権限への影響
この違いは、GRANT システムで明らかになります。デフォルトでは、「root」@「localhost」に与えられた許可は、ソケットを使用した接続にのみ適用されます。これらの権限を「127.0.0.1」の接続に拡張するには、「root」@「127.0.0.1」に明示的に付与する必要があります。
すべてのホストからのすべての権限の付与
任意のホストからすべてのデータベースに対する完全な権限を「root」ユーザーに割り当てるには、次のコマンドを使用します:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
権限の確認
更新された権限の確認:
mysql -u root -h 127.0.0.1 -pzenoss -e "SHOW GRANTS;"
結果には、' に対する付与が表示されます。 root'@'127.0.0.1' とともに'root'@'localhost'.
以上がMySQL の「localhost」と「127.0.0.1」: ユーザー権限が重要なのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。