Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi:SQLSTATE [HY000] [2002] Không có tệp hoặc thư mục nào như vậy

Cuối cùng tôi đã giải quyết được vấn đề, cảm ơn @Dlk đã giúp đỡ.

Nguyên nhân của sự cố là do trong database.php , Tôi đã đề cập đến máy chủ cho mysql là localhost thay vì tên của dịch vụ MYSQL trong docker-compose.yml tập tin. Do đó database.php tệp phải giống như vậy:

<?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());
}

?>

tương quan với docker-compose.yml của tôi tệp

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. Dừng truy vấn thông qua pdo

  2. Cách cập nhật tất cả các ngày trong bảng

  3. Cách chuyển hướng stdout từ vùng chứa docker sang máy chủ

  4. Chúng ta có thể nhập SQL từ bộ chứa S3 sang AWS ec2 (phiên bản) không?

  5. Cách tìm các giá trị Hex nhất định và Giá trị Char () trong MySQL SELECT