Docker가 Windows 디렉토리를 MySQL 데이터 디렉토리에 마운트 한 이유는 무엇입니까?
Docker는 Windows 디렉토리를 MySQL 데이터베이스에 마운트하여 느린 데이터 가져 오기 구문 분석
이 기사는 MySQL 데이터베이스 데이터가 Docker 컨테이너에서 가져 오는 데 속도가 느린 이유를 분석합니다. 이 문제는 Windows 호스트 디렉토리를 Docker 컨테이너 (Linux Environment)에서 실행중인 MySQL 8.0 데이터베이스 데이터 디렉토리에 장착하여 매우 느린 수입 속도를 초래합니다.
사용자는 Docker Compose를 사용하여 Windows 호스트의 ./mysqlData
디렉토리를 컨테이너의 /var/lib/mysql
에 마운트하고 컨테이너의 /tmp
로 ./tmp
디렉토리를 마운트합니다. 가져 오기 프로세스는 먼저 21MB의 SQL 파일을 Windows 호스트의 ./tmp
디렉토리에 복사 한 다음 컨테이너에서 mysql
명령을 사용하여 가져 오는 것입니다. 그러나이 과정에는 거의 1 시간이 걸렸습니다.
문제의 핵심은 Windows와 Linux 파일 시스템의 차이로 인한 성능 병목 현상에 있습니다. Docker는 Wind 이는 SQL 파일 크기에 문제가되지 않지만 Windows 파일 시스템에 액세스하는 Linux 컨테이너의 I/O 속도가 매우 낮습니다. 이는 두 파일 시스템의 기본 구현이 크게 다르기 때문에 Docker 가상화 환경 에서이 차이가 증폭되어 파일 액세스 속도가 크게 줄어 듭니다.
따라서 느린 데이터 가져 오기의 주된 이유는 컨테이너의 I/O가 장착 된 Windows 디렉토리 ( ./tmp
)에 대한 읽기 및 쓰기 속도가 너무 느리기 때문입니다. 확인을 위해 비교 테스트를 수행하는 것이 좋습니다. 먼저 SQL 파일을 Linux 가상 머신 또는 컨테이너의 내부 디렉토리로 복사 한 다음 가져온 다음 가져 오기 속도 차이를 비교하여 Windows 파일 시스템에 느린 액세스로 인한 문제 여부를 확인하십시오.
위 내용은 Docker가 Windows 디렉토리를 MySQL 데이터 디렉토리에 마운트 한 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

MySQL에서는 altertabletable_nameaddcolumnnew_columnvarchar (255) 이후에 필드를 추가하여 altertabletable_namedropcolumncolumn_to_drop을 사용하여 필드를 삭제합니다. 필드를 추가 할 때는 쿼리 성능 및 데이터 구조를 최적화하기위한 위치를 지정해야합니다. 필드를 삭제하기 전에 작업이 돌이킬 수 없는지 확인해야합니다. 온라인 DDL, 백업 데이터, 테스트 환경 및 저하 기간을 사용하여 테이블 구조 수정은 성능 최적화 및 모범 사례입니다.

MacOS에 MySQL을 설치하는 것은 다음 단계를 통해 달성 할 수 있습니다. 1. 1. 명령 /bin/bash-c"$(curl-fsslhttps://raw.githubusercontent.com/homebrew/install/head/install.sh)를 사용하여 Homebrew 설치 ". 2. 홈 브루를 업데이트하고 Brewupdate를 사용하십시오. 3. MySQL을 설치하고 BrewinStallMysQL을 사용하십시오. 4. MySQL 서비스를 시작하고 BrewServicessTartMysql을 사용하십시오. 설치 후 MySQL-U를 사용할 수 있습니다

MacOS와 Linux는 호환성 및 사용자 경험에서 고유 한 장점을 가지고 있습니다. MACOS는 Apple 생태계 내에서 우수한 호환성을 가지고 있으며 사용자 경험은 간단하고 직관적입니다. Linux는 뛰어난 하드웨어 호환성과 소프트웨어 유연성을 가지고 있습니다. 사용자 경험은 분포에서 배포에 이르기까지 개인화 및 제어를 강조합니다.

Docker와 Kubernetes는 컨테이너화 및 오케스트레이션의 리더입니다. Docker는 컨테이너 수명주기 관리에 중점을두고 소규모 프로젝트에 적합합니다. Kubernetes는 컨테이너 오케스트레이션에 능숙하며 대규모 생산 환경에 적합합니다. 이 둘의 조합은 개발 및 배포 효율성을 향상시킬 수 있습니다.

MySQL 기능은 데이터 처리 및 계산에 사용될 수 있습니다. 1. 기본 사용에는 문자열 처리, 날짜 계산 및 수학 연산이 포함됩니다. 2. 고급 사용에는 복잡한 작업을 구현하기 위해 여러 기능을 결합하는 것이 포함됩니다. 3. 성능 최적화를 위해서는 WHERE 절에서 기능 사용 및 GroupBy 및 임시 테이블 사용을 피해야합니다.

MySQL을 안전하고 철저하게 제거하고 모든 잔차 파일을 정리하려면 다음 단계를 따르십시오. 1. MySQL 서비스 중지; 2. MySQL 패키지 제거; 3. 구성 파일 및 데이터 디렉토리를 정리하십시오. 4. 제거가 철저한 지 확인하십시오.

MySQL에 데이터 삽입을위한 효율적인 방법은 다음과 같습니다. 1. InsertInto 사용 ... 값 구문 사용 ... 값 구문, 2. 트랜잭션 처리 사용, 3. 트랜잭션 처리 사용, 4. 배치 크기 조정, 5. 인덱스 비활성화, 6. Insertignore 또는 Insert ... ondupliceKeyUpdate를 사용하여 데이터베이스 작동 효율성을 크게 향상시킬 수 있습니다.

MySQL이 다양한 프로젝트에서 널리 사용되는 이유에는 다음이 포함됩니다. 1. 고성능 및 확장 성, 여러 스토리지 엔진을 지원합니다. 2. 사용 및 유지 관리, 간단한 구성 및 풍부한 도구; 3. 많은 지역 사회 및 타사 도구 지원을 유치하는 풍부한 생태계; 4. 여러 운영 체제에 적합한 크로스 플랫폼 지원.
