Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kesalahan:SQLSTATE[HY000] [2002] Tidak ada file atau direktori seperti itu

Saya akhirnya memecahkan masalah, terima kasih @Dlk atas bantuan Anda.

Penyebab masalah adalah karena di database.php , saya merujuk ke Host untuk mysql sebagai localhost alih-alih nama layanan MYSQL di docker-compose.yml mengajukan. Oleh karena itu database.php file akan terlihat seperti ini :

<?php

$host = 'nairobi_mysql'; // Must be the service name of the database in `docker-compose.yml`
$db_name = 'nairobi';
$user = 'admin';
$pass = '123456';
$charset = 'utf8mb4'; // Always set charset for database
$port = '3306'; 

$dsn = "mysql:host=$host;dbname=$db_name;port=$port;charset=$charset";
$options = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES   => false,
];
try {
     $pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
     throw new \PDOException($e->getMessage(), (int)$e->getCode());
}

?>

yang berkorelasi dengan docker-compose.yml saya berkas

version: '3.7'

services:
  php:
    container_name: nairobi_php
    build:
      context: ./
    volumes:
      - './src:/var/www/html'
    depends_on:
      - mysql
    ports:
      - 80:80

  mysql:
    container_name: nairobi_mysql
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: CUeHpADRmZCtnTFGctxp
      MYSQL_DATABASE: nairobi
      MYSQL_USER: admin
      MYSQL_PASSWORD: 123456
    restart: always
    command: --default-authentication-plugin=mysql_native_password
    ports:
      - 3306:3306

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Batch menyisipkan pernyataan SQL

  2. Mengapa Magento gagal menyelamatkan pelanggan setelah membuat ID?

  3. Bagaimana cara mempartisi tabel MySQL berdasarkan kolom char?

  4. Cara Mendapatkan Data 12 Bulan Terakhir di MySQL

  5. Menggabungkan baris sebagai array dari tabel lain untuk setiap baris