質問: ### 前提・実現したいこと 現在Docker for Windowsでdocker-composeを利用し 以下のコンテナを立てています。 * Nginx * MariaDB * Django * Postfix 以前はVirtualBoxでUbuntu環境を作り そこでDocker環境を構築していましたが やはりWindowsでDockerを使おうと思い 今回移行しています。 その際、MariaDBのユーザがうまく認証できなかったので `DROP USER`してから作り直そうとしたのですが なぜかいないユーザがいるとエラーが出ます。 ### 発生している問題・エラーメッセージ ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/fd23bb0224f4eee7fcdd5c329194acc9.png) ``` MariaDB [(none)]> drop user '[ユーザ名]'@'[コンテナ名.ネットワーク名]'; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> select host,user from mysql.user; +-----------+------+ | host | user | +-----------+------+ | 127.0.0.1 | root | | ::1 | root | | localhost | root | +-----------+------+ 3 rows in set (0.000 sec) MariaDB [(none)]> CREATE USER IF NOT EXISTS [ユーザ名]@"[コンテナ名.ネットワーク名]" IDENTIFIED BY '[パスワード]'; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> select host,user from mysql.user; +-----------------------------+-------------+ | host | user | +-----------------------------+-------------+ | 127.0.0.1 | root | | ::1 | root | | [コンテナ名.ネットワーク名] | [ユーザ名] | | localhost | root | +-----------------------------+-------------+ 4 rows in set (0.000 sec) ``` ユーザ一覧を出して ユーザを作成しようとしてWARNINGが出て それを表示しています。 ### 試したこと `FLUSH PRIVILEGES`を何度も打ってみましたが 結局変わりませんでした。 **解決時** とりあえずPC自体を再起動し `DROP USER`し直してから 再度追加したところ追加することが出来ました。 Windowsの方で何かキャッシュのようなものが残っていたのかなと思っています。 ### 補足情報(FW/ツールのバージョンなど) 環境 * Windows 10 Pro * Docker desktop ver.2.1.0.2(stable) * Engine ver.19.03.2 * Compose ver.1.24.1 * MariaDB Server version: 10.3.18-MariaDB MariaDB Server 別の環境の話にはなりますが Hyper-VでUbuntu環境を立てたのですが そちらでもユーザのコンピュータ名は 以前作った名称は既に作られているとのエラーメッセージを見ました。 Hyper-Vでなにかしらのネットワーク名のようなものが残っているのでしょうか。 情報足りない場合補足します。 よろしくお願い申し上げます。
回答: drop user の部分も追加して、キャプチャーではなく、 markdown の [コード] に修正してください。 民間療法の域ですが、データベースを再起動、それでもダメなら電源レベルで再起動してみては?