回答編集履歴

1

Fix answer

2020/07/12 11:56

投稿

y_shinoda
y_shinoda

スコア3272

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