@thamink If you are connecting to an Azure MySQL, do you have SSL enabled? If you do, you have to export the .pem file from azure into your project and update the database.php config to point to the ssl, as well as your .env
database.php
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'yourdatabase.com'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'DBname'),
'username' => env('DB_USERNAME','username'),
'password' => env('DB_PASSWORD', 'password'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
'modes' => [
'ONLY_FULL_GROUP_BY',
'STRICT_TRANS_TABLES',
'NO_ZERO_IN_DATE',
'NO_ZERO_DATE',
'ERROR_FOR_DIVISION_BY_ZERO',
'NO_ENGINE_SUBSTITUTION',
],
'sslmode' => env('DB_SSLMODE', 'prefer'),
'options' => (env('MYSQL_SSL')) ? [
PDO::MYSQL_ATTR_SSL_KEY => base_path('config/ssl/YourApp.crt.pem'),
] : []
],
.env
DB_CONNECTION=mysql
DB_HOST=yourapp.mysql.database.azure.com
DB_PORT=3306
DB_DATABASE=yoursite
DB_USERNAME=user@yoursite
DB_PASSWORD=password
MYSQL_SSL=true