RSA Encryption not supported – caching_sha2_password plugin was built with GnuTLS support の解決

やりたいこと

docker-composeでrailsのアプリを作る。DBにmysqlを使用する。

エラー

RSA Encryption not supported - caching_sha2_password plugin was built with GnuTLS support

正しいdocker-compose.yml

version: "3.9"
services:
  db:
    platform: linux/x86_64 # for M1Mac
    image: mysql:8.0
    volumes:
      - mysql-data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
    command: --default_authentication_plugin=mysql_native_password
  web:
    build: .
    command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
    stdin_open: true # for biding.pry
    tty: true # for biding.pry
    volumes:
      - .:/app
    ports:
      - "3000:3000"
    depends_on:
      - db
volumes:
  mysql-data:
    driver: local

command: --default_authentication_plugin=mysql_native_password を指定する事がポイント

それでもエラー

docker-compose.ymlが正しいはずなのに同じエラーが出た。

解決策

docker volume rm app_mysql-data

volumeで永続化したデータベースがdocker-compose buildでは更新されない!volumeを削除してからbuildすればOK.

Comments

タイトルとURLをコピーしました