기술나눔

Linux에서 여러 mysql 데이터베이스를 열고 비밀번호와 포트를 개별적으로 설정하는 방법

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Linux 시스템에서 기본적으로 MySQL(또는 널리 사용되는 MySQL 포크인 MariaDB)은 동일한 시스템에서 여러 MySQL 인스턴스 실행을 직접 지원하지 않으며 각 인스턴스는 서로 다른 포트와 독립적인 비밀번호 시스템을 사용합니다. 그러나 여러 MySQL 인스턴스(다중 인스턴스라고도 함)를 구성하여 이를 수행할 수 있습니다. 여기에는 일반적으로 각 인스턴스에 대해 서로 다른 포트, 데이터 디렉터리, 구성 파일 및 사용자 권한을 구성하는 작업이 포함됩니다.

여러 MySQL 인스턴스를 구성하기 위한 기본 단계는 다음과 같습니다.

1. 준비

MySQL이 제대로 설치되어 있는지 확인하세요. 이 가이드에서는 MySQL을 사용한다고 가정하지만 MariaDB를 사용하는 경우 단계는 매우 유사합니다.

2. 새로운 데이터 디렉토리 생성

각 MySQL 인스턴스에 대한 새 데이터 디렉터리를 만듭니다.

sudo mkdir -p /data/mysql1 /data/mysql2
sudo chown -R mysql:mysql /data/mysql1 /data/mysql2

여기/data/mysql1그리고/data/mysql2두 개의 서로 다른 인스턴스의 데이터 디렉터리입니다.

3. 구성 파일 복사 및 수정

MySQL의 기본 구성 파일은 일반적으로 다음과 같습니다./etc/my.cnf(또는/etc/mysql/my.cnf , 배포판에 따라 다름). 각 인스턴스에 대해 새 구성 파일을 생성해야 합니다.

  • 프로필 템플릿을 복사합니다. 존재하지 않는 경우 기본 구성에서 생성할 수 있습니다.
sudo cp /etc/my.cnf /etc/mysql1.cnf
sudo cp /etc/my.cnf /etc/mysql2.cnf
  • 각 구성 파일의 다음 섹션을 수정합니다.

    • [mysqld]섹션 아래 설정datadir새로 생성된 데이터 디렉터리(예:/data/mysql1또는/data/mysql2)。
    • 다르게 설정port(예를 들어 첫 번째 인스턴스는 3306을 사용하고 두 번째 인스턴스는 3307을 사용합니다.)
    • 설정해야 할 수도 있습니다.socket경로가 고유한지 확인하세요.
    • (선택사항) 설정user그리고log_error인스턴스가 독립적으로 실행되도록 하는 기타 옵션도 있습니다.

4. 데이터 디렉터리를 초기화합니다(아직 초기화되지 않은 경우)

새 MySQL 인스턴스의 경우 데이터 디렉터리를 초기화해야 합니다.여기에는 일반적으로 달리기가 포함됩니다.mysqld --initialize또는mysql_install_db (MySQL 버전에 따라 다름) 기존 데이터를 덮어쓸 수 있다는 점에 유의하세요.

sudo mysqld --initialize --user=mysql --datadir=/data/mysql1
sudo mysqld --initialize --user=mysql --datadir=/data/mysql2

5. MySQL 인스턴스 시작

각 인스턴스에 대한 시작 스크립트를 작성하거나 다음을 사용해야 합니다.systemd 유닛 파일을 관리합니다. 이는 복잡한 경우가 많으며 특정 요구 사항과 시스템 환경에 따라 사용자 정의해야 합니다.

단순화된 접근 방식은 다음을 사용하는 것입니다.mysqld_safe또는 명령줄에서 직접 실행mysqld하지만 이는 프로덕션 환경에는 적합하지 않습니다.

6. 비밀번호 및 권한 설정

각 인스턴스에는 초기화 후 기본 루트 비밀번호가 있습니다(MySQL 5.7.6 이상). 각 인스턴스에 대해 독립적인 비밀번호와 사용자 권한을 설정해야 합니다.

  • 각 인스턴스에 로그인합니다(다음을 사용하여--socket그리고--port옵션).
  • 사용ALTER USER루트 비밀번호를 설정하는 명령문입니다.
  • 새로운 사용자를 생성하고 승인하세요.

7. 유지보수 및 모니터링

여러 MySQL 인스턴스를 유지 관리하려면 모니터링 및 백업 전략이 마련되어 있는지 확인하세요.

알아채다

  • 위 단계는 대략적인 개요이며 특정 환경에 맞게 조정해야 할 수도 있습니다.
  • 여러 MySQL 인스턴스를 실행하면 시스템 복잡성과 리소스 소비가 증가할 수 있습니다.
  • 시스템 방화벽 및 네트워크 구성이 적절한 포트에서 각 인스턴스에 대한 액세스를 허용하는지 확인하십시오.