Mọi người giúp em sửa lỗi này ạ
Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] Operation timed out (SQL: select * from information_schema.tables where table_schema = Nhim13 and table_name = migrations)
1 CÂU TRẢ LỜI
Operation timed out
thì có vẻ là lỗi khi mà application của bạn không thể kết nối đến server database.
Bạn kiểm tra lại xem chắc chắn server database đã chạy chưa, và các thông số config để Laravel kết nối đến server database (hostname, port, user, password) đã chính xác chưa
Anh xem giúp em thông số đã được chưa ạ
config database
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
.env
DB_CONNECTION=mysql
DB_HOST=192.168.10.10
DB_PORT=33060
DB_DATABASE=Nhim13
DB_USERNAME=root
DB_PASSWORD=root
unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock
@con À, bạn connect thông qua file .sock
chứ không phải qua port à
Vậy thì một là bạn nên chạy lại mysql
ở dạng tcp
với listen port là 3306
, hai là bạn cần sửa lại config để Laravel dùng Unix Socket.
Mình thấy ở phần Database bạn có đoạn này 'unix_socket' => env('DB_SOCKET', '')
là ổn rồi, nhưng config trong file .env
lại thiết lập sai rồi.
Đoạn này unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock
đúng ra phải là DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
chứ
Mình đã sửa lại
.env
DB_CONNECTION=mysql
DB_HOST=192.168.10.10
DB_PORT=33060
DB_DATABASE=Nhim13
DB_USERNAME=root
DB_PASSWORD=root
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
thì nó lại hiện ra lỗi này
SQLSTATE[HY000] [1049] Unknown database 'nhim13' (SQL: select * from information_schema.tables where table_schema = Nhim13 and table_name = migrations)
@con Vậy là bạn đã kết nối được đến server mysql rồi, giờ vấn đề của bạn là app Laravel không thể tìm thấy database có tên nhim13
thôi.
Bạn hãy kiểm tra lại xem mình đã tạo database nhim13
chưa Nếu chưa thì bạn vào trong mysql và dùng câu lệnh sau để tạo ra database này trước khi chạy migration nhé
CREATE DATABASE nhim13 CHARACTER SET utf8;
Mình đã tạo và kiểm tra database nhim13 trong mysql rồi nhưng khi mình migrate thì vẫn bị lỗi như trên. Đây là bảng của mình
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| nhim1 |
| Nhim12 |
| nhim13 |
| nhim23 |
| performance_schema |
| sys |
+--------------------+
8 rows in set (0.00 sec)