[解決済み] MySQL 8.0でのphpMyAdminの動作確認 [重複] [重複
質問
アップデイト
phpMyAdminの新しいバージョンでこの問題は解決しました。phpMyAdmin 5.0.1でのテストに成功しました。
MySQL8.0サーバーとphpMyAdminをインストールしましたが、ブラウザからアクセスしようとすると、以下のエラーが発生します。
#2054 - The server requested authentication method unknown to the client
mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client
強力なパスワードが実装されていることと、MySQL のリリースが比較的新しいことが関係しているのだろうと想像しています。
しかし、私は最も高度なドライバと接続の構成について何も知りません。
誰かが同じ問題に直面し、それを解決したことがありますか?
どのように解決するのですか?
でMySQLコンソールにログインします。 ルート ユーザーでログインしてください。
root@9532f0da1a2a:/# mysql -u root -pPASSWORD
で、そこのパスワードでAuthentication Pluginを変更します。
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Query OK, 0 rows affected (0.08 sec)
Preferred Authentication Plugin の詳細については、MySQL 8.0 リファレンスマニュアルを参照してください。
で完全に動作しています。 ドッカー 化された環境では完全に動作しています。
docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -p 3306:3306 -d mysql:latest
docker exec -it mysql bash
mysql -u root -pPASSWORD
ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
exit
exit
docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest
これで、http://localhost:8080 上の phpMyAdmin に root / PASSWORD でログインできるようになりました。
mysql/mysql-server
もし、あなたが mysql/mysql-server ドッカーイメージ
しかし、これはあくまでも開発環境における「手軽で汚い」解決策であることを忘れないでください。を変更するのは賢明ではありません。 MySQL Preferred Authentication Plugin .
docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:latest
docker exec -it mysql mysql -u root -pPASSWORD -e "ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';"
docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest
2018/10/04に更新したソリューション
MySQLのデフォルト認証プラグインを変更するために、コメントアウトを解除して
default_authentication_plugin=mysql_native_password
の設定を
/etc/my.cnf
自己責任でご利用ください
docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:latest
docker exec -it mysql sed -i -e 's/# default-authentication-plugin=mysql_native_password/default-authentication-plugin=mysql_native_password/g' /etc/my.cnf
docker stop mysql; docker start mysql
docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest
2019/01/30にワークアラウンドを更新しました。
docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:latest
docker exec -it mysql sed -i -e 's/# default-authentication-plugin=mysql_native_password/default-authentication-plugin=mysql_native_password/g' /etc/my.cnf
docker exec -it mysql mysql -u root -pPASSWORD -e "ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';"
docker stop mysql; docker start mysql
docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest
2021年9月13日に解決策を更新しました。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
- 正確に引用符で囲んでください *。
関連
-
MySQLとOracleの一括挿入SQLの汎用的な記述例
-
SQL集計、グループ化、ソート
-
Mysqlデータベースの手動および定期的なバックアップ手順
-
MySQLによる既存テーブルのパーティショニングの実装
-
[解決済み】MySQL - オペランドは1つのカラムを含む必要があります。
-
mysql5.7のインストールと、無料・長期利用を目的としたNavicateの導入プロセスについて
-
MySQLにおけるvarchar型とchar型の違い
-
MySQLの一般的な分割ライブラリおよび分割テーブルスキームの概要
-
[解決済み] Ubuntu linux上で動作するリモートMySQLサーバーを再起動する方法は?
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLにおけるorder byの使用方法の詳細
-
MySQLデータベースでvarchar型の数値の大きさを比較する方法
-
MySQLとOracleの一括挿入SQLの汎用的な記述例
-
sql エラーを解決する オペランドには1つの列が含まれている必要があります。
-
MySQLでテーブルを削除します。親行が削除または更新できません: 外部キー制約に失敗しました。
-
Mysqlデータベースへのリンク時にpymysqlがConnection refusedエラーを報告する
-
PostMan レポート エラー: 接続 ECONNREFUSED 127.0.0.1:port number
-
Mysqlの使用中に発生したエラーの一部
-
[解決済み] utf8_general_ciとutf8_unicode_ciの違いは何ですか?
-
[解決済み] エラー 1396 (hy000)。jack'@'localhost' の CREATE USER 操作に失敗しました。