大した話ではないが、つまづいて大変だったのでネタとして書き込む
経緯
数週間ぶりにWordpressで調査段階の案件を走り始めた。 時間が空いた事と、調査で止まっていた事を考え、最初から構築し直した。
現象
Wordpressで初期ブログを立ち上げようとして、インストールを開始すると下記のエラーでつまづく。
Tablespace for table '`wordpress`.`wp_users`' exists. Please DISCARD the tablespace before IMPORT
開発環境を立ち上げ直しても(docker-compose build)しても、MySQLのイメージを読み直さない。 (前に1度構築したからだと思われる)
$ docker-compose build mysql uses an image, skipping wordpress uses an image, skipping
直接クエリを投げてテーブルを作ろうとしても同じエラーが怒るので、ユーザーの問題でもなさそう。
機械翻訳
IMPORTの前に表スペースを破棄してください
解決方法
テーブルの残骸が残っているため、それを消さないとダメらしい。
本来は、DBのデータを直接削除する(私が使ったコンテナの場合は/var/lib/mysql配下に生データがある)らしいのだが、開発環境でDockerを立ち上げ直してもダメだったので、さらに調査した。
その結果、マウントしているデータの中にMySQLのデータが入っていた。
これでは、いくら立ち上げ直しても残骸は残ったままになっている訳である。
docker-compose.yml
mysql: image: mariadb ports: - 3306:3306 volumes: - ./:/home - ./stacks/mysql/data:/var/lib/mysql
そのため、volumesに設定した、stacks/mysql/の中にあるmysqlのデータを削除すると問題なくインストールした。