Centos 7은 Docker를 통해 MySQL 8.0.33을 설치하여 데이터 지속성과 my.cnf 구성을 달성합니다.

1. Docker는 MySQL 컨테이너를 시작하여 데이터 지속성을 달성합니다.

Docker를 사용하여 CentOS 7에서 MySQL 8.0.33을 시작하고 MySQL의 my.cnf 파일을 구성하고 MySQL 데이터 지속성을 구현하려면 다음 단계를 따르십시오.

1. Docker 설치: CentOS 7에 Docker를 설치했는지 확인합니다. 설치되지 않은 경우 공식 Docker 문서에서 제공하는 지침에 따라 설치하십시오.

2. 영구 저장소 디렉터리 생성: 데이터 지속성을 달성하기 위해 MySQL 데이터를 저장할 디렉터리를 생성합니다. 이름을 /opt/mysql_data로 지정했다고 가정해 보겠습니다. 터미널에서 다음 명령을 실행하여 디렉터리를 만듭니다.

sudo mkdir -p /opt/mysql_data


3. MySQL 이미지 가져오기: 다음 명령을 실행하여 Docker 허브에서 MySQL 8.0.33 이미지를 가져옵니다.

sudo docker pull mysql:8.0.33


4. MySQL 컨테이너 시작: 다음 명령을 실행하여 MySQL 컨테이너를 시작하고 영구 저장소 디렉터리와 사용자 지정 my.cnf 파일을 동시에 마운트합니다.

미리 새 /path/to/my.cnf 파일을 수동으로 만들어야 합니다.

----개별 요구 사항이 있기 때문에 /path/to/my.cnf 파일을 server_id=2로 설정해야 합니다(해당 요구 사항 없음, 무시할 수 있음).

도커 컨테이너 시작

sudo docker run -d --name mysql-container \
  -v /opt/mysql_data:/var/lib/mysql \
  -v /path/to/my.cnf:/etc/mysql/my.cnf \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -p 3305:3306 \
  mysql:8.0.33

  • /opt/mysql_data를 생성한 영구 저장소 디렉터리의 경로로 바꿉니다.
  • /path/to/my.cnf를 내 사용자 지정 my.cnf 파일 경로로 바꿉니다.
  • your_password를 설정하려는 MySQL 루트 암호로 바꿉니다.

내 비밀번호는 123456입니다.

/path/to/my.cnf

포트는 3305입니다.


5. 구성 확인: 잠시만 기다리면 MySQL 컨테이너가 시작되고 사용자 지정 my.cnf 파일이 로드됩니다. MySQL 컨테이너에 연결하여 구성이 작동하는지 확인할 수 있습니다.

sudo docker exec -it mysql-container mysql -u root -p

 
이전에 설정한 비밀번호를 입력한 후 MySQL 클라이언트를 입력합니다.

비밀번호는 123456입니다.

6. MySQL 클라이언트에서 다음 명령을 실행하여 server_id 구성이 2로 설정되었는지 확인합니다.

SHOW VARIABLES LIKE 'server_id';


server_id 값이 2이면 my.cnf의 구성이 성공적으로 적용된 것입니다.

MySQL 컨테이너는 이제 server_id 값이 2인 사용자 지정 my.cnf 구성 파일을 사용하여 CentOS 7에서 지속적으로 실행됩니다.

my.cnf 파일을 수정할 때마다 변경 사항을 적용하려면 MySQL 컨테이너를 다시 시작해야 합니다.

sudo docker restart mysql-container

2. 원격 액세스를 지원하도록 MySQL 컨테이너 설정

기본적으로 Docker의 컨테이너 네트워킹은 브리지 모드를 사용하므로 컨테이너 내부의 서비스는 컨테이너의 IP 주소를 통해서만 액세스할 수 있습니다. 원격 호스트의 연결을 허용하려면 컨테이너의 방화벽 규칙을 수정해야 합니다.

1. docker-mysql 컨테이너를 입력하고 MySQL을 입력합니다.

sudo docker exec -it mysql-container mysql -u root -p

비밀번호 123456

2. 비밀번호 재설정

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

3. 권한 새로 고침

flush privileges;

4. 원격 액세스를 활성화하고 기본 암호 및 암호화 방법을 수정합니다.

alter user 'root'@'%' identified with mysql_native_password by 'root';

이제 원격으로 연결하고 서비스의 IP 주소와 포트 번호 3305, 계정 루트 암호 123456을 사용할 수 있습니다.

서버는 외부 세계에 대해 포트 3305를 열어야 함을 기억하십시오.

추천

출처blog.csdn.net/qq_39208536/article/details/132354310