>  기사  >  운영 및 유지보수  >  docker에 mysql을 설치하고 대소문자를 구분하지 않도록 설정하는 방법

docker에 mysql을 설치하고 대소문자를 구분하지 않도록 설정하는 방법

PHPz
PHPz원래의
2023-04-18 10:24:193028검색

Docker는 소프트웨어 애플리케이션의 신속한 배포, 이식 및 패키징을 달성할 수 있는 컨테이너화 기술입니다. MySQL은 업계에서 널리 사용되는 관계형 데이터베이스입니다. Docker에 MySQL을 설치하면 로컬 데이터베이스 환경을 쉽게 구축할 수 있습니다. 그러나 경우에 따라 MySQL은 대소문자를 구분하여 문제를 일으킬 수 있습니다.

이 글에서는 Docker에 MySQL을 설치하는 방법과 MySQL의 대소문자 구분 문제를 해결하는 방법을 소개합니다.

Docker 설치

먼저 Docker를 설치해야 합니다. 공식 홈페이지에서 자신에게 맞는 버전을 다운로드하여 설치하시면 됩니다. 설치가 완료된 후 명령줄에 다음 명령을 입력하여 설치 성공 여부를 확인할 수 있습니다.

docker version

다음과 유사한 내용이 표시되면 Docker가 성공적으로 설치된 것입니다.

Client:
 Version:           18.03.1-ce
 API version:       1.37
 Go version:        go1.9.5
 Git commit:        9ee9f40
 Built:             Thu Apr 26 07:21:22 2018
 OS/Arch:           darwin/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.03.1-ce
  API version:      1.37 (minimum version 1.12)
  Go version:       go1.9.5
  Git commit:       9ee9f40
  Built:            Thu Apr 26 07:26:38 2018
  OS/Arch:          linux/amd64
  Experimental:     false

MySQL 설치

MySQL을 설치하기 전에 MySQL과 다른 컨테이너를 연결하기 위한 네트워크를 만들어야 합니다. 네트워크를 생성하려면 명령줄에 다음 명령을 입력하세요.

docker network create my-network

그런 다음 다음 명령을 사용하여 MySQL 이미지를 가져올 수 있습니다.

docker pull mysql

가져오기에 성공하면 다음 명령을 사용하여 MySQL 컨테이너를 시작할 수 있습니다. -d 매개변수는 백그라운드 모드에서 실행 중임을 나타내며, -e 매개변수는 MySQL 루트 사용자의 비밀번호 설정을 나타냅니다. -d 参数表示以后台模式运行,-e 参数表示设置 MySQL root 用户的密码。

docker run --name my-mysql -d -e MYSQL_ROOT_PASSWORD=password --network my-network mysql

启动成功后,可以使用以下命令验证是否启动成功:

docker ps

如果显示类似以下内容,则说明 MySQL 容器启动成功。

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
29d316425b95        mysql               "docker-entrypoint.s…"   5 seconds ago       Up 4 seconds        3306/tcp            my-mysql

解决 MySQL 区分大小写

在 MySQL 中,默认情况下是区分大小写的。这就会导致一些问题,例如在进行 JOIN、GROUP BY、ORDER BY 等操作时会出现错误。为了解决这个问题,可以使用以下方法。

1. 修改 MySQL 配置文件

进入 MySQL 容器,修改 MySQL 配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf,在 [mysqld] 节点下添加以下内容:

lower_case_table_names=1

保存配置文件后,重启 MySQL 容器:

docker restart my-mysql

2. 添加环境变量

在启动 MySQL 容器时,可以使用 -e 参数添加 lower_case_table_names=1

docker run --name my-mysql -d -e MYSQL_ROOT_PASSWORD=password -e lower_case_table_names=1 --network my-network mysql
시작이 성공한 후 다음 명령을 사용하여 시작 성공 여부를 확인할 수 있습니다.

rrreee

다음과 유사한 내용이 표시되면 MySQL 컨테이너가 성공적으로 시작된 것입니다.

rrreee

MySQL 대소문자 구분 해결🎜🎜MySQL에서는 기본적으로 대소문자를 구분합니다. 이로 인해 JOIN, GROUP BY, ORDER BY 및 기타 작업을 수행할 때 오류와 같은 몇 가지 문제가 발생합니다. 이 문제를 해결하려면 다음 방법을 사용할 수 있습니다. 🎜

1. MySQL 구성 파일 수정

🎜MySQL 컨테이너에 들어가서 MySQL 구성 파일 /etc/mysql/mysql.conf.d/mysqld.cnf를 수정하고 [mysqld 아래에 다음 내용을 추가합니다. ] 노드: 🎜rrreee 🎜구성 파일을 저장한 후 MySQL 컨테이너를 다시 시작합니다. 🎜rrreee

2. 환경 변수 추가

🎜MySQL 컨테이너를 시작할 때 -e를 사용할 수 있습니다. > 매개변수를 사용하여 lower_case_table_names=1 환경 변수를 추가합니다. 🎜rrreee🎜Summary🎜🎜이 글에서는 Docker에 MySQL을 설치하는 방법을 소개하고 MySQL 대소문자 구분 문제를 해결합니다. 개발 과정에서 Docker는 애플리케이션을 빠르고 쉽게 배포할 수 있는 편리한 환경을 제공합니다. 그러나 Docker를 사용할 때 컨테이너를 더 잘 관리하려면 Docker에 대한 지식이 필요합니다. 🎜

위 내용은 docker에 mysql을 설치하고 대소문자를 구분하지 않도록 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.