Ubuntu 16.04 で「root」として MySQL に接続できないのはなぜですか?

Barbara Streisand
リリース: 2024-10-30 11:53:02
オリジナル
732 人が閲覧しました

Why Can't I Connect to MySQL as 'root' in Ubuntu 16.04?

Ubuntu 16.04 の「root」ユーザーのデータベース アクセスが拒否されました

Ubuntu 16.04 で Web サーバーを使用してデータベースにアクセスすると、次のような問題が発生する可能性があります。エラー「SQLSTATE[HY000] [1698] ユーザー 'root'@'localhost' のアクセスが拒否されました。」この問題は、すべての権限を持つ新しいユーザーを作成したにもかかわらず発生します。

MySQL 5.7 のルート ユーザーの制限

このエラーの根本原因は、MySQL 5.7 で導入された変更にあります。これにより、sudo 権限のない「root」ユーザーの使用が制限されます。以前のバージョンでは、ユーザーはコマンド「mysql -u root」を使用して特権を昇格せずに「root」として MySQL にアクセスできました。ただし、MySQL 5.7 では、このアプローチは不可能になりました。

回避策

この問題を解決するには、必要な権限を持つ新しいユーザーを作成し、次を使用する必要があります。 PHP アプリケーションまたは他の非コマンド ライン ツールからデータベース接続を確立するときに、「root」の代わりにそのユーザーを使用します。

PHP コード

PHP コードでは、新しく作成したユーザーの認証情報を使用したユーザー名とパスワード:

<code class="php">protected $name = 'new_user';
protected $pass = 'new_password';</code>
ログイン後にコピー

コマンド ラインからの root アクセス

ただし、「root」ユーザーを直接使用することはできません。 GUI または非コマンド ライン アプリケーションの場合でも、sudo:

sudo mysql -u root
ログイン後にコピー

を使用してコマンド ラインから「root」として MySQL にアクセスできます。このアプローチは権限を昇格するものであり、必要な場合にのみ使用する必要があることに注意してください。データベース管理専用のユーザーを作成し、セキュリティ上の理由から「root」の代わりにそのユーザーを使用することをお勧めします。

以上がUbuntu 16.04 で「root」として MySQL に接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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