内容へ移動
ゆーものメモ帳
ユーザ用ツール
管理
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
ソフトウェア:docker:トラブルシューティング:bash_mysql_command_not_found_と出るとき
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== webコンテナからDBコンテナに接続しようとして bash: mysql: command not found と出るとき ====== docker-compose.yml で webコンテナと DBコンテナを作成し、webコンテナから DB接続しようとした際に以下のエラーが表示されました。 <code> $ mysql -h db_container_name -u docker -p bash: mysql: command not found </code> 結論から言うと、webコンテナにも MySQL をインストールすることでアクセス可能になりました。\\ webコンテナ側に MySQL がインストールされていないために、単純にコマンドが使えないだけというエラーでした。\\ web側の Dockerfile に以下を追加する。 <code> # MySQL RUN yum -y install mysql </code> 上記でコンテナ起動後、再度 mysql 接続を試すと「caching_sha2_password」という以下のエラーが表示される場合。 <code> $ mysql -h db_container_name -u docker -p ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory </code> DBコンテナ側の MySQL が8.0以降なため表示されるエラーです。MySQL8.0から認証プラグインが caching_sha2_password に変更されたそうです。 この場合は、web側にインストールする MySQLも8.0以降にすることで対処可能です。 <code> # 先程のこれを RUN yum -y install mysql # こんな感じに RUN yum -y localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm \ && yum -y install mysql-community-server </code> もしくは、DBコンテナ側の my.cnf で以下を指定することで、従来の認証プラグイン mysql_native_password を使うことができます。 <code> [mysqld] default_authentication_plugin= mysql_native_password </code>
ソフトウェア/docker/トラブルシューティング/bash_mysql_command_not_found_と出るとき.txt
· 最終更新: 2019/08/09 15:58 by
yusuke_komori
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ