はじめに
Dockerを使ってMySQLデータベースを構築しようと思いましたが、初めてのデータベース構築ですので、色々と苦戦しました。
docker-compose.ymlファイルの書き方やボリュームの設定などトライアンドエラーの連続でした。特にユーザー名、パスワードを入力したら、エラーになり、ログイン出来ないことが特に苦戦しました。
MySQLにログイン
DockerによるMySQLの構築が完了し、MySQLにログインしてSQLの勉強をしようと思って、#> mysql -u user -pを入力してEnterを押したら、エラーでした!
ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)
色々と調べたら、ユーザー権限がないとか、パスワードが正しくないとか、色々と試しましたが、全部解決出来ませんでした
検索地獄
数時間をかけて、色々なサイトを検索しました。英語を読めないのに、英語のサイトまで探って、翻訳サイトを使って、翻訳したりして、翻訳文の意味が分からなかったり、解決法は効果がなかったりして、中々解決出来ませんでした。検索したサイトの一つがDockerのボリュームを削除して作り直すと治るという話が有ったので、試してみましたが
#> docker volumes rm ボリューム名
結局ログイン出来ませんでした。
最終的に永続化ボリュームのディレクトリーを削除して、作り直したらログイン出来ました。
最後
永続化ディレクトリーを削除したら、作った意味がなくなる為、また色々調べて、ルートでログイン出来るようにして、MySQL内ユーザーとパスワードを追加して、再ログインしてみたら、出来ました。
最初からルートでログイン出来るようにすれば、良かったな!失敗失敗。