回答編集履歴
1
Fix answer
answer
CHANGED
@@ -1,20 +1,30 @@
|
|
1
|
-
|
1
|
+
Docker の `volume` に残っているデータが
|
2
|
+
MySQL 5.7.9 よりも前のバージョンで作成されたものであることが原因のようです:
|
2
3
|
|
3
4
|
```console
|
4
|
-
|
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
|
-
```
|
14
|
+
```yaml
|
15
|
+
services:
|
16
|
+
db:
|
10
|
-
|
17
|
+
image: mysql:5.7.8
|
11
18
|
```
|
12
19
|
|
13
|
-
|
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
|
27
|
+
docker-compose down --volumes
|
20
|
-
```
|
28
|
+
```
|
29
|
+
|
30
|
+
参考: [docker-compose down | Docker Documentation](https://docs.docker.com/compose/reference/down/)
|