Ubuntu で root ユーザーとして MySQL データベースにアクセスできないのはなぜですか?

Patricia Arquette
リリース: 2024-10-30 00:10:28
オリジナル
328 人が閲覧しました

Why Can't I Access My MySQL Database as Root User in Ubuntu?

SQLSTATE[HY000] [1698] Access Denied for 'root' User on localhost

「SQLSTATE[HY000] [1698] Access Denied for user '」が発生しましたUbuntu Web サーバーをセットアップした後の root'@'localhost'" エラーはイライラすることがあります。ターミナルからデータベースにアクセスできるように見えますが、PHP と phpMyAdmin のエラーは残ります。この問題を解決するには、根本的な原因を理解することが重要です。

root ユーザーの制限

MySQL 5.7 以降では、root ユーザーに対する制限が導入されています。昇格された権限がなければ、mysql -u root を使用して MySQL に直接アクセスすることはできなくなります。代わりに、sudo mysql -u root が必要で、パスワードの入力を求められます。

この制限は、GUI および非コマンド ライン アプリケーションにも適用されます。この問題を軽減するには、root ユーザーを使用する代わりに、必要な権限を持つ新しいユーザーを作成します。

PHP での実装

提供された PHP コードでは、ログイン認証情報は次のとおりです。ハードコードされた。 root ユーザーの制限を回避するには、__construct() メソッドを変更して、適切な権限を持つ新しいユーザーを組み込みます。

<code class="php">public function __construct() {
    try {
        $this->conn = new PDO("mysql:host=$this->host;dbname=$this->db", $this->name, $this->pass, self::$settings);
    } catch (PDOException $e) {
        echo $e->getMessage();
    }
}</code>
ログイン後にコピー

$this->name と $this->pass を、新しく作成したユーザーの認証情報に置き換えます。 。ユーザーがデータベースにアクセスするために必要な権限を持っていることを確認してください。

追加リソース

さらに詳しい情報とトラブルシューティング手順については、次のリソースを参照してください。

  • [MySQL エラー コード 1698: ユーザー 'root'@'localhost' のアクセスが拒否されました](https://www.cybertec-postgresql.com/en/mysql-error-1698-access-denied-for- user-rootlocalhost/)

以上がUbuntu で root ユーザーとして MySQL データベースにアクセスできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!