【エラー解決】Tablespace '`データベース名`.`***`' exists

#エラーの内容#
laravelのmigrate:freshを実行するとエラーが出てしまって、どうにもこうにも行かなくなってしまいました。
エラー文には、テーブルはすでに存在しています、と書かれています。


```
 SQLSTATE[HY000]: General error: 1813 Tablespace '`データベース名`.`***`' exists. (SQL: create table `***` (`id` bigint unsigned not null auto_increment primary key, `user_id` bigint unsigned not null, `post_id` bigint unsigned not null, `created_at` timestamp not null default CURRENT_TIMESTAMP, `updated_at` timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP) default character set utf8mb4 collate 'utf8mb4_unicode_ci')

  at vendor/laravel/framework/src/Illuminate/Database/Connection.php:703
    699▕         // If an exception occurs when attempting to run a query, we'll format the error
    700▕         // message to include the bindings with SQL, which will make this exception a
    701▕         // lot more helpful to the developer instead of just the database's errors.
    702▕         catch (Exception $e) {
  ➜ 703▕             throw new QueryException(
    704▕                 $query, $this->prepareBindings($bindings), $e
    705▕             );
    706▕         }
    707▕     }

      +9 vendor frames
  10  database/migrations/2021_10_17_092414_create_***_table.php:22
      Illuminate\Support\Facades\Facade::__callStatic("create")

      +21 vendor frames
  32  artisan:37
      Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
```
　
#原因と解決策#
色々調べてみると、docker imageに、前回使用したテーブルのデータが残ったまま次のコンテナを立ち上げてしまっている？のが原因のようでした。
それでは、そのデータを削除して新しく作り直せばなんとかなりそうです。

まずはdocker psでコンテナを確認します。

```
docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED        STATUS        PORTS                                                                                                                                                                                                                                   NAMES
f730a8dd9173   laradock_nginx        "/docker-entrypoint.…"   36 hours ago   Up 36 hours   0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp                                                                                                                                                    laradock_nginx_1
b013ed71a52c   laradock_php-fpm      "docker-php-entrypoi…"   36 hours ago   Up 36 hours   9000/tcp, 0.0.0.0:9003->9003/tcp, :::9003->9003/tcp                                                                                                                                                                                     laradock_php-fpm_1
9a0bbf127ce6   laradock_workspace    "/sbin/my_init"          36 hours ago   Up 36 hours   0.0.0.0:3000-3001->3000-3001/tcp, :::3000-3001->3000-3001/tcp, 0.0.0.0:4200->4200/tcp, :::4200->4200/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp, 0.0.0.0:2222->22/tcp, :::2222->22/tcp, 0.0.0.0:8001->8000/tcp, :::8001->8000/tcp   laradock_workspace_1
40445bdf8134   laradock_phpmyadmin   "/docker-entrypoint.…"   36 hours ago   Up 36 hours   0.0.0.0:8081->80/tcp, :::8081->80/tcp                                                                                                                                                                                                   laradock_phpmyadmin_1
740a1ed511d8   docker:19.03-dind     "dockerd-entrypoint.…"   36 hours ago   Up 36 hours   2375-2376/tcp                                                                                                                                                                                                                           laradock_docker-in-docker_1
92eff8e390a2   laradock_mysql        "docker-entrypoint.s…"   36 hours ago   Up 36 hours   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                                                                                                                                                                                    laradock_mysql_1
```

mysqlコンテナにbashでログインし、mysqlディレクトリに移動します。

```
docker exec -it 92eff8e390a2 /bin/bash
cd /var/lib/mysql
```

原因のファイルを削除します。
データベース名のファイルがあるのでrmコマンドで削除して、新しいフォルダを作ります。

```
rm -rf データベース名/
mkdir データベース名
```

これで綺麗になりましたのでマイグレーションが実行できるようになりました！

#終わりに#
細かいところはまだまだ理解できてませんが、少しずつエラーと戦う力がついてきたような気がします。
脳死でググるのではなく、まずはエラー文をしっかり読み解く（英語なので分かりにくいですが・・・）ことが大事ですね！