내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Linux 시스템에서 기본적으로 MySQL(또는 널리 사용되는 MySQL 포크인 MariaDB)은 동일한 시스템에서 여러 MySQL 인스턴스 실행을 직접 지원하지 않으며 각 인스턴스는 서로 다른 포트와 독립적인 비밀번호 시스템을 사용합니다. 그러나 여러 MySQL 인스턴스(다중 인스턴스라고도 함)를 구성하여 이를 수행할 수 있습니다. 여기에는 일반적으로 각 인스턴스에 대해 서로 다른 포트, 데이터 디렉터리, 구성 파일 및 사용자 권한을 구성하는 작업이 포함됩니다.
여러 MySQL 인스턴스를 구성하기 위한 기본 단계는 다음과 같습니다.
MySQL이 제대로 설치되어 있는지 확인하세요. 이 가이드에서는 MySQL을 사용한다고 가정하지만 MariaDB를 사용하는 경우 단계는 매우 유사합니다.
각 MySQL 인스턴스에 대한 새 데이터 디렉터리를 만듭니다.
sudo mkdir -p /data/mysql1 /data/mysql2 | |
sudo chown -R mysql:mysql /data/mysql1 /data/mysql2 |
여기/data/mysql1
그리고/data/mysql2
두 개의 서로 다른 인스턴스의 데이터 디렉터리입니다.
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
인스턴스가 독립적으로 실행되도록 하는 기타 옵션도 있습니다. 새 MySQL 인스턴스의 경우 데이터 디렉터리를 초기화해야 합니다.여기에는 일반적으로 달리기가 포함됩니다.mysqld --initialize
또는mysql_install_db
(MySQL 버전에 따라 다름) 기존 데이터를 덮어쓸 수 있다는 점에 유의하세요.
sudo mysqld --initialize --user=mysql --datadir=/data/mysql1 | |
sudo mysqld --initialize --user=mysql --datadir=/data/mysql2 |
각 인스턴스에 대한 시작 스크립트를 작성하거나 다음을 사용해야 합니다.systemd
유닛 파일을 관리합니다. 이는 복잡한 경우가 많으며 특정 요구 사항과 시스템 환경에 따라 사용자 정의해야 합니다.
단순화된 접근 방식은 다음을 사용하는 것입니다.mysqld_safe
또는 명령줄에서 직접 실행mysqld
하지만 이는 프로덕션 환경에는 적합하지 않습니다.
각 인스턴스에는 초기화 후 기본 루트 비밀번호가 있습니다(MySQL 5.7.6 이상). 각 인스턴스에 대해 독립적인 비밀번호와 사용자 권한을 설정해야 합니다.
--socket
그리고--port
옵션).ALTER USER
루트 비밀번호를 설정하는 명령문입니다.여러 MySQL 인스턴스를 유지 관리하려면 모니터링 및 백업 전략이 마련되어 있는지 확인하세요.