課題で作ったものを初めてAWSにデプロイしようとしています。
EC2インスタンスとRDSを作成後、mysqlに入りデータベースを作成しました。
その後EC2サーバーに戻り
php artisan migration
を実行すると下記のエラーが出ます。
SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = データベース名 and table_name = migrations and table_type = ‘BASE TABLE’)
できていること
・EC2からRDSへの接続
・開発環境でのphp artisan migrateの実行
試したこと
・socketが違ったので
show variables like '%sock%'で出てきたものに変更
/var/lib/mysql/mysql.sock→tmp/mysql.sock
・.envファイルの重複・内容確認
(エンドポイント・データベース名・ポート番号・マスターユーザー名・パスワード)
・php artisan cache:clear
・php artisan config:clear
・composer dump-autoload
環境
VM Virtual Box、centos7、Laravel6、PHP7.4、mysql5.7
設定ファイルなど
.env DB_CONNECTION=mysql DB_HOST=*****.rds.amazonaws.com DB_DATABASE=データベース名 DB_USERNAME="admin" DB_PASSWORD="パスワード"
config/database.php 'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '*****.rds.amazonaws.com'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'データベース名'), 'username' => env('DB_USERNAME', 'admin'), 'password' => env('DB_PASSWORD', 'パスワード'), 'unix_socket' => env('DB_SOCKET', 'tmp/mysql.sock'), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ],
show databases;実行結果 ±----------------------------+ | Database | ±----------------------------+ | information_schema | | データベース名 | | innodb | | mysql | | performance_schema | | sys | | tmp | ±----------------------------+
php -mの実行結果 [PHP Modules] bz2 calendar Core ctype curl date dom exif fileinfo filter ftp gettext hash iconv json libxml mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql pdo_sqlite Phar readline Reflection session SimpleXML sockets sodium SPL sqlite3 standard tokenizer xml xmlreader xmlwriter xsl zlib
長くなってしまってすみません。この辺が怪しそう、などありましたらお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。