Heim > Datenbank > MySQL-Tutorial > So installieren Sie mehrere MySQL-Instanzen auf demselben Server

So installieren Sie mehrere MySQL-Instanzen auf demselben Server

PHPz
Freigeben: 2023-04-20 14:03:21
Original
1850 Leute haben es durchsucht

MySQL ist ein relationales Open-Source-Datenbankverwaltungssystem, das häufig für die Datenverwaltung verschiedener Anwendungen verwendet wird. Bei der tatsächlichen Verwendung ist es manchmal erforderlich, mehrere MySQL-Instanzen gleichzeitig zu installieren, um verschiedene Anwendungen oder Szenarien zu unterstützen. In diesem Artikel wird erläutert, wie mehrere MySQL-Instanzen auf demselben Server installiert werden.

1. Vorbereitungen vor der Installation

Bevor Sie mehrere MySQL-Instanzen installieren, müssen Sie die folgenden Vorbereitungen treffen:

  1. Bereiten Sie mehrere MySQL-Installationspakete vor. Sie können die für Ihre Umgebung geeignete Version von der offiziellen MySQL-Website herunterladen: //dev.mysql.com/downloads/
  2. Bereiten Sie mehrere MySQL-Datenverzeichnisse vor. Sie können verschiedene Verzeichnisse erstellen, um verschiedene MySQL-Instanzen zu unterstützen, z. B. /data/mysql1, /data/mysql2 usw.
  3. Konfigurieren Sie für jede MySQL-Instanz einen unabhängigen MySQL-Benutzer, der über die entsprechenden MySQL-Installationspfad- und Datenverzeichnisberechtigungen verfügt.

2. Installieren Sie mehrere MySQL-Instanzen basierend auf Binärpaketen

Die folgenden Schritte sind zum Installieren mehrerer MySQL-Instanzen basierend auf Binärpaketen:

  1. Extrahieren Sie das MySQL-Installationspaket und benennen Sie es um

Nach dem Entpacken der mehreren MySQL-Installationen Pakete. Sie können es in einen anderen Namen umbenennen, um es leichter zu unterscheiden, zum Beispiel: mysql1, mysql2 usw.

$ tar -zxvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.gz
$ mv mysql-8.0.22-linux-glibc2.12-x86_64 mysql1
$ tar -zxvf mysql-8.0.22 -linux-glibc2.12-x86_64.tar.gz
$ mv mysql-8.0.22-linux-glibc2.12-x86_64 mysql2

  1. Initialisieren Sie das Datenverzeichnis

Jede MySQL-Instanz erfordert ein unabhängiges Datenverzeichnis, erforderlich Initialisieren mit dem Befehl mysql_install_db. Im Folgenden sind die Befehle zum Initialisieren von mysql1- und mysql2-Instanzen aufgeführt:

$ cd mysql1
$ bin/mysqld --initialize --user=mysql --basedir=/share/opt/mysql1 --datadir=/data/mysql1
$ cd ./mysql2
$ bin/mysqld --initialize --user=mysql --basedir=/share/opt/mysql2 --datadir=/data/mysql2

  1. Installieren Sie den MySQL-Dienst

Für jede MySQL-Instanz , erforderlich Verwenden Sie den Befehl mysqld_safe, um den MySQL-Dienst zu installieren. Der folgende Befehl ist zum Installieren von mysql1- und mysql2-Instanzen erforderlich:

$ cp support-files/mysql.server /etc/init.d/mysql1
$ cp support-files/ mysql.server /etc/init .d/mysql2
$ chmod +x /etc/init.d/mysql1
$ chmod +x /etc/init.d/mysql2
$ chkconfig --add mysql1
$ chkconfig --add mysql2
$ service mysql1 start
$ service mysql2 start

  1. MySQL-Instanz konfigurieren

Für jede MySQL-Instanz ist eine unabhängige Konfigurationsdatei my.cnf erforderlich. Sie können eine my.cnf-Datei im MySQL-Installationsverzeichnis erstellen Im Folgenden finden Sie ein Beispiel für die Datei my.cnf:

[mysqld]
datadir=/data/mysql1
socket=/share/tmp/mysql1.sock
port = 3306
user=mysql
log-error=/data /mysql1/mysql.err
pid-file= /share/tmp/mysql1.pid

Das Folgende ist die Konfiguration der MySQL2-Instanz

[mysqld2]
datadir=/data/mysql2
socket=/share/tmp/ mysql2.sock
port = 3307
user=mysql
log-error=/data/mysql2/mysql.err
pid-file=/share/tmp/mysql2.pid

  1. MySQL-Benutzer konfigurieren

Verwenden Sie den folgenden Befehl um einen MySQL-Benutzer zu erstellen und die entsprechenden Verzeichnisberechtigungen zu erteilen:

$ useradd - r -g mysql -s /bin/false mysql1
$ useradd -r -g mysql -s /bin/false mysql2
$ chown -R mysql: mysql /data/mysql1
$ chown -R mysql:mysql /data/mysql2
$ chown -R mysql:mysql /share/opt/mysql1
$ chown -R mysql:mysql /share/opt/mysql2

3. Installieren Mehrere MySQL-Instanzen basierend auf Docker-Containern

  1. Docker-Umgebung vorbereiten

Erforderlich: Installieren Sie zuerst die Docker-Umgebung auf dem Server und rufen Sie das MySQL-Docker-Image ab. Der folgende Befehl lautet:

$ docker pull mysql/mysql-server:latest

  1. Starten Sie den MySQL-Container

Sie können mehrere MySQL-Container starten, um den Anforderungen mehrerer Instanzen gerecht zu werden. Sie können verschiedene Instanzen unterscheiden, indem Sie unterschiedliche Ports, Datenmengen und Konfigurationsdateien angeben . Hier ist ein Beispielbefehl zum Starten von zwei verschiedenen MySQL-Instanzen:

$ docker run --name=mysql1 -d
-e MYSQL_ROOT_PASSWORD=your_password
-p 3306:3306
-v /data/mysql1:/var/lib/ mysql
-v /share/opt/mysql1:/etc/mysql
mysql/mysql-server:latest
$ docker run --name=mysql2 -d
-e MYSQL_ROOT_PASSWORD=your_password
-p 3307:3306
-v / data /mysql2:/var/lib/mysql
-v /share/opt/mysql2:/etc/mysql
mysql/mysql-server:latest

  1. MySQL-Instanzen konfigurieren

können separat in verschiedenen Datenmengen erstellt werden. Verschiedene Konfigurationen Dateien my.cnf werden dann jeweils in verschiedene Container gemountet. Das Folgende ist ein Beispiel für my.cnf:

Das Folgende ist die Konfiguration der mysql1-Instanz

[mysqld]
datadir = /var/lib/mysql
socket = /var/run/mysqld/mysqld.sock

Hinweis: Diese Einstellung ist nur für MySQL 5.7 oder früher gültig.

symbolic-links = 0

Benutzerdefinierte MySQL-Konfiguration

[mysqld]
datadir = /var/lib/mysql
socket = /var/run/mysqld/mysqld. sock
port = 3306
user = mysql
log-error = /var/lib/mysql/mysql.err
pid-file = /var/run/mysqld/mysqld.pid

Das Folgende ist die Konfiguration der mysql2-Instanz

[mysqld2]
datadir = /var/lib/mysql
socket = /var/run/mysqld/mysqld.sock
symbolic-links = 0

Angepasste MySQL-Konfiguration

[mysqld2]
datadir = /var/lib/mysql
socket = /var/run/mysqld/mysqld.sock
port = 3307
user = mysql
log-error = /var/lib /mysql /mysql.err
pid-file = /var/run/mysqld/mysqld.pid

  1. Mehrere MySQL-Instanzen verwenden

Nachdem Sie mehrere MySQL-Instanzen konfiguriert haben, können Sie eine Verbindung zum entsprechenden Port herstellen und entsprechende Datenbankinstanznamen verwenden und konfigurieren entsprechende Benutzer, um mehrere MySQL-Instanzen zu verwenden:

mysql -h localhost -u Benutzername1 -p -P 3306 -D Datenbank1
mysql -h localhost -u Benutzername2 -p -P 3307 -D Datenbank2

Zusammenfassung

Dieser Artikel stellt vor, wie um mehrere MySQL-Instanzen auf demselben Server zu installieren, einschließlich der Installation basierend auf Binärpaketen und der Installation basierend auf Docker-Containern. Durch die rationelle Verwendung mehrerer MySQL-Instanzen können unterschiedliche Anwendungen und Szenarien besser unterstützt und die Leistung und Zuverlässigkeit der Datenbank verbessert werden.

Das obige ist der detaillierte Inhalt vonSo installieren Sie mehrere MySQL-Instanzen auf demselben Server. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage