집 >데이터 베이스 >MySQL 튜토리얼 >Linux는 mysqld_multi를 사용하여 단일 시스템에서 여러 MySQL 인스턴스를 시작합니다.
예전에는 mysql을 사용할 때 하나의 mysql 스키마만 사용하거나 여러 스키마를 사용하는 경우가 많았으나 일반적으로 동일한 데이터베이스 인스턴스, 즉 같은 포트.
mysql 2머신 양방향 핫 백업에서는 머신 A의 myql 스키마(가칭 A)를 핫 백업(mysql 복제)의 마스터 노드로 사용해야 하고, 백업 mysql 스키마(가칭 A)를 마스터 노드로 사용해야 합니다. B) 다른 머신 B에 존재합니다. 그런 다음 양방향 핫 백업에서는 B도 마스터로 구성하고 A는 슬레이브로 구성해야 합니다. 직설적으로 말하면 핫 백업이 두 번 구성됩니다. 이제 머신 A의 핫 백업이 완료되었습니다. 그리고 B의 차례입니다. 머신 B에도 마스터로 구성해야 하는 mysql 스키마(C)가 있고 백업 스키마는 머신 A에 배치되어 있다고 언급했지만 여기에 문제가 있습니다. 백업 mysql 스키마(B)가 방금 핫 스탠바이를 구성할 때 mysql로 구성되었습니다.
역할이 바인딩됩니다. 이때 C가 마스터로 구성되면 B의 이전 구성이 덮어쓰기되고 C의 백업 데이터베이스(D)가 머신 A에서 마스터로 구성되면 A가 마스터로 구성됩니다. 작업이 다루어졌습니다.
따라서 이 프로세스에서는 스키마 A와 B의 양방향 상시 대기 구성이 두 시스템의 기본 포트 3306에서 각각 완료됩니다. 스키마 C와 D의 양방향 상시 대기를 구성할 때 다음을 수행해야 합니다. 두 시스템에 각각 스키마 C와 D의 양방향 상시 대기를 구성합니다. 다음은 여러 mysql 인스턴스를 시작하는 방법을 설명합니다.
[mysqld_multi] mysqld = /opt/mysql/server-5.6/bin/mysqld_safe #根据自己的mysql目录配置 mysqladmin = /opt/mysql/server-5.6/bin/mysqladmin [mysqld1] port = 3307 socket = /tmp/mysql.sock1 pid-file = /opt/mysql/server-5.6/data3307/cloud3.pid3 basedir=/opt/mysql/server-5.6 datadir=/opt/mysql/server-5.6/data3307 log-bin=mysql1-9003-bin user=cloud1 [mysqld2] port = 3308 socket = /tmp/mysql.sock2 pid-file = /opt/mysql/server-5.6/data3308/cloud3.pid2 basedir=/opt/mysql/server-5.6 datadir=/opt/mysql/server-5.6/data3308 log-bin=mysql2-9003-bin user=cloud1
cd /opt/mysql/server-5.6/;./scripts/mysql_install_db --datadir=/opt/mysql/server-5.6/data3307 --user=cloud1 cd /opt/mysql/server-5.6/;./scripts/mysql_install_db --datadir=/opt/mysql/server-5.6/data3308 --user=cloud1
초기화 성공하면 확인 메시지가 표시됩니다. 그렇지 않으면 데이터베이스 디렉터리에 권한이 있는지 확인하세요.
mysqld_multi를 시작하려면 다음 매개변수를 사용하세요. (참고: 이 명령은 mysql의 bin 디렉터리에 있습니다.)
mysqld_multi [options] [GNR[,GNR]...]
실행하려는 작업을 시작, 중지 및 보고합니다. 옵션 다음에 나오는 GNR 목록과 구별하여 단일 서비스 또는 여러 서비스에 대한 작업을 지정할 수 있습니다. GNR 목록을 지정하지 않으면 mysqld_multi는 모든 서비스에서 옵션 파일에 따라 동작합니다.
각 GNR의 값은 그룹의 시퀀스 번호 또는 그룹의 시퀀스 번호 범위입니다. 이 항목의 값은 그룹 이름의 마지막 숫자여야 합니다. 예를 들어 그룹 이름이 mysqld17이면 이 항목의 값은 17입니다. 범위를 지정하는 경우 "-"(대시)를 사용하여 두 숫자를 연결합니다. GNR의 값이 10-13이면 mysqld10 그룹을 mysqld13 그룹으로 참조합니다.
mysqld_multi --defaults-file=/opt/mysql/server-5.6/my.cnf start 1-2 或者 mysqld_multi --defaults-file=/opt/mysql/server-5.6/my.cnf start 1 mysqld_multi --defaults-file=/opt/mysql/server-5.6/my.cnf start 2
mysqladmin -u root -p -P 3307 -S /tmp/mysql.sock1 password //刚开始默认没有密码,如果要输入密码,直接回车 mysql -u root -p -P 3307 -S /tmp/mysql.sock1
위 내용은 Linux는 mysqld_multi를 사용하여 단일 시스템에서 여러 MySQL 인스턴스를 시작합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!