前提・実現したいこと
Docker環境でRailsアプリを作ろうとしており、mysqlを一般ユーザで操作したいので権限を与えようとしているのですが、rootに接続することができません。ご教示下さると助かります。
発生している問題・エラーメッセージ
$ docker-compose exec db mysql -u root -p -e"$(cat db/grant_user.sql)" Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
該当のソースコード
dbenv
1MYSQL_ROOT_PASSWORD=password 2MYSQL_USER=webapp 3MYSQL_PASSWORD=password
databaseyml
1default: &default 2 adapter: mysql2 3 encoding: utf8 4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 5 username: <%= ENV.fetch('webapp') { 'root' } %> 6 password: <%= ENV.fetch('password') { 'password' } %> 7 host: db 8 9development: 10 <<: *default 11 database: webapp_development 12 13test: 14 <<: *default 15 database: webapp_test
grantusersql
1GRANT ALL PRIVILEGES ON *.* TO 'webapp'@'%'; 2FLUSH PRIVILEGES;
dockercomposeyml
1version: '3' 2services: 3 app: 4 build: 5 context: . 6 env_file: 7 - ./environments/db.env 8 command: bundle exec puma -C config/puma.rb 9 volumes: 10 - .:/webapp 11 - public-data:/webapp/public 12 - tmp-data:/webapp/tmp 13 - log-data:/webapp/log 14 depends_on: 15 - db 16 db: 17 image: mysql:5.7 18 env_file: 19 - ./environments/db.env 20 volumes: 21 - db-data:/var/lib/mysql 22 web: 23 build: 24 context: containers/nginx 25 volumes: 26 - public-data:/webapp/public 27 - tmp-data:/webapp/tmp 28 ports: 29 - 80:80 30 depends_on: 31 - app 32volumes: 33 public-data: 34 tmp-data: 35 log-data: 36 db-data:
試したこと
database.ymlとdb.envのパスワードが一致しているか確認し、passwordを何度か変更してみるも同じエラーが発生。
docker-compose exec db mysql -u root -p -e"$(cat db/grant_user.sql)"のコマンドを打ち込むとパスワードが要求されるため、passwordと打ち込んでいます。
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー