Docker는 애플리케이션 배포 및 관리를 더 쉽고 효율적으로 만들어주는 인기 있는 컨테이너화 플랫폼입니다. MySQL 데이터베이스는 많은 애플리케이션의 필수적인 부분입니다. 그러나 Docker에서 MySQL을 사용할 때 문자가 깨져 나타나는 경우가 있는데, 이는 데이터의 정확성에 영향을 미칠 뿐만 아니라 개발자에게 불필요한 문제를 야기합니다.
이 글에서는 Docker에서 MySQL의 왜곡된 문제와 가능한 해결 방법을 소개합니다.
1. Docker에서 MySQL의 코드 깨짐 문제
코드 깨짐은 클라이언트에서 쿼리한 데이터가 기대에 미치지 못하며, 인식할 수 없는 문자나 동작이 있음을 의미합니다.
이 문제는 Docker에서 MySQL을 실행할 때 매우 일반적입니다. 특히 MySQL 데이터베이스의 인코딩 방법이 UTF-8로 설정된 경우 다음과 같은 상황이 발생할 수 있습니다.
1. 데이터를 삽입할 때 데이터의 일반 중국어 또는 기타 언어 문자가 임의의 문자가 됩니다.
2. 클라이언트가 데이터를 쿼리할 때 반환된 데이터에 잘못된 문자가 많이 포함되어 있습니다.
사실 이러한 문제는 Docker나 MySQL 자체로 인해 발생하는 것이 아니라 일부 잘못된 설정과 구성으로 인해 발생합니다.
2. Docker에서 MySQL에 대한 솔루션
1. 데이터 소스 문자 집합을 확인하세요
문자가 왜곡되는 근본 원인은 데이터베이스의 문자 집합이 데이터 소스의 문자 집합과 일치하지 않기 때문입니다. 서로 다른 시스템 간 데이터 전송의 정확성을 보장하려면 데이터 소스의 문자 집합이 UTF-8인지 확인해야 합니다.
MySQL에서 다음 명령을 통해 MySQL 기본 문자 집합을 확인하세요.
show variables like 'character%';
표시된 결과의 Character_set_client, Character_set_connection 및 Character_set_results는 모두 utf8mb4여야 합니다. 그렇지 않으면 문자가 깨질 수 있습니다.
Docker에서 MySQL을 실행하려면 Dockerfile 또는 Docker-compose 구성 파일에 다음 매개변수를 추가해야 합니다.
... environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: test MYSQL_USER: test MYSQL_PASSWORD: test MYSQL_CHARSET: utf8mb4 MYSQL_COLLATION: utf8mb4_unicode_ci ...
그 중 MYSQL_CHARSET과 MYSQL_COLLATION은 각각 문자 집합과 정렬 방법입니다.
2. MySQL 구성 파일 수정
Docker에서 MySQL을 실행할 때 MySQL 구성 파일을 수정하여 올바른 문자 집합과 정렬 방법을 얻을 수도 있습니다.
MySQL 구성 파일 my.cnf를 입력하고 하단에 다음 구성을 추가합니다.
[mysql] default-character-set=utf8mb4 [mysqld] collation-server = utf8mb4_unicode_ci init-connect='SET NAMES utf8mb4' character-set-server = utf8mb4 skip-character-set-client-handshake
Docker에서 MySQL을 실행하려면 먼저 my.cnf를 컨테이너에 복사해야 합니다.
... volumes: - ./my.cnf:/etc/mysql/conf.d/my.cnf ...
3 MySQL 클라이언트 문자를 확인합니다. set
Docker에서 MySQL을 실행할 때 클라이언트의 문자 집합(예: 운영 체제 및 MySQL 클라이언트 도구 등)도 UTF-8인지 확인해야 합니다.
Linux에서는 다음 명령을 통해 현재 시스템의 문자 집합을 볼 수 있습니다.
$ echo $LANG
LANG가 다른 문자 집합을 반환하는 경우 LANG 환경 변수를 쉘 구성 파일에 추가해야 합니다.
$ echo "export LANG='en_US.utf8'" >> ~/.bashrc
Windows 시스템의 경우 , 클라이언트 도구(예: Navicat 등)의 문자 집합도 UTF-8인지 확인해야 합니다.
4. MySQL 열 속성 설정
MySQL에서는 열 속성의 문자 집합 및 대조 규칙도 쿼리 결과의 정확성에 영향을 미칩니다. 기본적으로 새 MySQL 테이블의 열 속성은 MySQL 서버의 기본 설정을 채택합니다. MySQL 서버의 문자 세트와 데이터 정렬이 일치하지 않으면 문자가 깨질 수 있습니다.
이 문제를 해결하려면 열 속성을 다음과 같이 수동으로 설정할 수 있습니다.
CREATE TABLE test ( name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', ... );
테이블을 생성할 때 위의 내용은 Docker에서 MySQL의 잘못된 문제에 대한 몇 가지 해결 방법입니다. 개발자는 자신의 필요와 실제 상황에 따라 자신에게 적합한 방법을 선택할 수 있습니다. 프로덕션 환경에서는 시스템의 안정성과 신뢰성을 보장하기 위해 애플리케이션의 배포 및 구성을 주의 깊게 테스트하고 검증해야 합니다.
위 내용은 Docker에서 mysql의 잘못된 코드 문제를 분석하고 해결합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Docker는 응용 프로그램을 패키지, 배포 및 실행하는 데 사용되는 Linux 컨테이너 기술 기반 도구입니다. 1) DockerBuild 및 Dockerrun 명령을 사용하여 Docker 컨테이너를 구축하고 실행할 수 있습니다. 2) DockerCompose는 마이크로 서비스 관리를 단순화하기 위해 멀티 컨테이너 Docker 응용 프로그램을 정의하고 실행하는 데 사용됩니다. 3) 다단계 구성을 사용하면 이미지 크기를 최적화하고 응용 프로그램 시작 속도를 향상시킬 수 있습니다. 4) 컨테이너 로그보기는 컨테이너 문제를 디버깅하는 효과적인 방법입니다.

Docker Container Startup 단계 : 컨테이너 이미지를 당기기 : "Docker Pull [Mirror Name]"을 실행하십시오. 컨테이너 생성 : "docker"[옵션] [미러 이름] [명령 및 매개 변수]를 사용하십시오. 컨테이너를 시작하십시오 : "Docker start [컨테이너 이름 또는 ID]"를 실행하십시오. 컨테이너 상태 확인 : 컨테이너가 "Docker PS"로 실행 중인지 확인하십시오.

Docker Logs를 보는 방법에는 다음이 포함됩니다. Docker Logs 명령 사용 : Docker Logs Container_name Docker Exec 명령을 사용하여 RUN /BIN /SH를 사용하여 로그 파일을 봅니다. cat /var/log/container_name.log docker-compose logs docker compose의 명령 : docker-compose -f docker-com 사용

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.

Docker에서 컨테이너 만들기 : 1. 이미지를 당기기 : Docker Pull [Mirror Name] 2. 컨테이너 만들기 : Docker Run [옵션] [미러 이름] [명령] 3. 컨테이너 시작 : Docker Start [컨테이너 이름]

도커 컨테이너를 종료하는 4 가지 명령 사용 Docker Kill & lt; Container_name & gt; 호스트 터미널의 명령 (힘 출구)

Docker의 외부 호스트에 파일을 복사하는 방법 : Docker CP 명령 사용 : Docker CP 실행 [옵션] & lt; 컨테이너 경로 & gt; & lt; 호스트 경로 & gt;. 데이터 볼륨 사용 : 호스트에서 디렉토리를 만들고 -V 매개 변수를 사용하여 양방향 파일 동기화를 달성하기 위해 컨테이너를 만들 때 컨테이너에 디렉토리를 장착하십시오.

Docker에서 MySQL을 시작하는 프로세스는 다음 단계로 구성됩니다. MySQL 이미지를 가져와 컨테이너를 작성하고 시작하고 루트 사용자 암호를 설정하고 포트 확인 연결을 매핑하고 데이터베이스를 작성하고 사용자는 데이터베이스에 모든 권한을 부여합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Dreamweaver Mac版
시각적 웹 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

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