LoginSignup
1
0

More than 1 year has passed since last update.

【Laravel】mysqlに接続できず、migrateできなかった

Posted at

Laravelをインストールして、migrateしようとしたら、

[ec2-user@ip-172-31-39-229 mosaku]$ php artisan migrate

   Illuminate\Database\QueryException  : SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = mosaku and table_name = migrations and table_type = 'BASE TABLE')

  at /var/www/html/mosaku/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669
    665|         // If an exception occurs when attempting to run a query, we'll format the error
    666|         // message to include the bindings with SQL, which will make this exception a
    667|         // lot more helpful to the developer instead of just the database's errors.
    668|         catch (Exception $e) {
  > 669|             throw new QueryException(
    670|                 $query, $this->prepareBindings($bindings), $e
    671|             );
    672|         }
    673|

  Exception trace:

  1   Doctrine\DBAL\Driver\PDO\Exception::("SQLSTATE[HY000] [2002] No such file or directory")
      /var/www/html/mosaku/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18

  2   Doctrine\DBAL\Driver\PDO\Exception::new()
      /var/www/html/mosaku/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:43

  Please use the argument -v to see more details.

これに数時間取られてしまったので、備忘録として記載。

.envにDB_SOCKETを追記

結局これだけでmigrateできるようになったのですが、mysql.sockの場所をずっと勘違いしてました。
私の環境は、ec2のAWS Linux2なのですが、正解はここ。

/var/lib/mysql/mysql.sock

/var/run/mysqld/mysqlx.sock がありましたが、違いました。
これを.envのDB_SOCKETに追記してあげれば動きました。

.env
...
DB_SOCKET=/var/run/mysqld/mysqlx.sock
...
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0