teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

Fix answer

2020/07/12 11:56

投稿

y_shinoda
y_shinoda

スコア3272

answer CHANGED
@@ -1,20 +1,30 @@
1
- 1
1
+ Docker の `volume` に残っているデータが
2
+ MySQL 5.7.9 よりも前のバージョンで作成されたものであることが原因のようです:
2
3
 
3
4
  ```console
4
- docker-compose up
5
+ [ERROR] [MY-013090] [InnoDB] Unsupported redo log format (0). The redo log was created before MySQL 5.7.9
5
6
  ```
6
7
 
7
- を行った後に、別のターミナルで
8
+ 参考: [Answer: MYSQL 8.0 - unsupported redo log format](https://stackoverflow.com/a/50401030/12721873)
8
9
 
10
+ volume に残っているデータが必要な場合は、
11
+ ひとまず MySQL の image を 5.7.9 よりも前のバージョンに固定すれば
12
+ 問題なく動作することが期待できます:
13
+
9
- ```console
14
+ ```yaml
15
+ services:
16
+ db:
10
- docker-compose ps
17
+ image: mysql:5.7.8
11
18
  ```
12
19
 
13
- を実行すると、`db` サービスは起動していますか?
20
+ 参考:[mysql Tags - Docker Hub](https://hub.docker.com/_/mysql?tab=tags&page=1&name=5.7.8)
14
21
 
15
- 2
16
- 次のコマンドで db サービスのログを確認すると、エラーは発生していませんか?:
17
22
 
23
+ データが不要な場合は、`volume` を削除することで
24
+ 次回、`docker-compose up` したとき、新たにデータベースが再構築されます:
25
+
18
26
  ```console
19
- docker logs (dbサービスに該当するコンテナ名)
27
+ docker-compose down --volumes
20
- ```
28
+ ```
29
+
30
+ 参考: [docker-compose down | Docker Documentation](https://docs.docker.com/compose/reference/down/)