Heim  >  Artikel  >  Datenbank  >  Wie implementiert man server- und datenbankübergreifende Datenoperationen in MySQL?

Wie implementiert man server- und datenbankübergreifende Datenoperationen in MySQL?

WBOY
WBOYOriginal
2023-07-30 14:39:191900Durchsuche

MySQL ist ein relationales Open-Source-Datenbankverwaltungssystem, das häufig zur Datenspeicherung und Verwaltung von Webanwendungen verwendet wird. In tatsächlichen Anwendungsszenarien müssen wir häufig server- und datenbankübergreifende Vorgänge für Daten implementieren, z. B. Datensynchronisierung, Datenmigration oder verteilte Datenverwaltung zwischen mehreren Datenbanken.

Im Folgenden werden die Methoden und Beispielcodes zur Implementierung server- und datenbankübergreifender Datenoperationen in MySQL vorgestellt.

  1. Verwendung der Federated Storage Engine
    Die Federated Storage Engine ist eine von MySQL bereitgestellte Speicher-Engine. Mit dieser Speicher-Engine können wir eine Tabelle in einer MySQL-Instanz erstellen, die mit anderen MySQL-Servern verbunden ist, um serverübergreifende Datenoperationen durchzuführen.

Zuerst müssen wir die Federated Storage Engine auf dem MySQL-Server aktivieren. Fügen Sie die folgende Konfiguration in der my.cnf-Konfigurationsdatei hinzu:

[mysqld]
federated = ON

Erstellen Sie dann eine Federated-Tabelle in der Datenbank und geben Sie die Informationen des Remote-MySQL-Servers an, mit dem eine Verbindung hergestellt werden soll:

CREATE TABLE federated_table (
    id INT(11) AUTO_INCREMENT,
    data VARCHAR(100),
    PRIMARY KEY (id)
) ENGINE=FEDERATED
DEFAULT CHARSET=utf8
CONNECTION='mysql://[用户名]:[密码]@[远程MySQL服务器IP地址]:[端口号]/[数据库名]/[远程表名]';

Im obigen Code [Benutzername], [Passwort] , [IP-Adresse des Remote-MySQL-Servers], [Portnummer], [Datenbankname], [Remote-Tabellenname] sollten entsprechend der tatsächlichen Situation ersetzt werden. Nach erfolgreicher Erstellung können wir serverübergreifende Datenoperationen durchführen, indem wir diese föderierte Tabelle bedienen.

  1. Verwenden Sie die Replikationsfunktion
    Die Replikationsfunktion von MySQL kann Daten auf einem MySQL-Server auf andere MySQL-Server kopieren, um serverübergreifende Datenoperationen zu erreichen.

Konfigurieren Sie zunächst die Hauptdatenbank. Fügen Sie die folgende Konfiguration in der my.cnf-Konfigurationsdatei hinzu:

[mysqld]
server-id=1
log_bin=mysql-bin
binlog_format=row

Starten Sie dann den MySQL-Dienst neu.

Konfigurieren Sie in der Slave-Datenbank. Fügen Sie die folgende Konfiguration in der my.cnf-Konfigurationsdatei hinzu:

[mysqld]
server-id=2

Starten Sie dann den MySQL-Dienst neu.

Erstellen Sie ein Replikationskonto in der Master-Datenbank und erteilen Sie Replikationsberechtigungen:

CREATE USER 'repl_user'@'从数据库IP地址' IDENTIFIED BY 'repl_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'从数据库IP地址';

Unter anderem muss die IP-Adresse der Slave-Datenbank durch die tatsächliche IP-Adresse der Slave-Datenbank ersetzt werden.

Überprüfen Sie dann den Dateinamen und den Speicherort des Binärprotokolls in der Hauptdatenbank:

SHOW MASTER STATUS;

Notieren Sie die Werte von Datei und Position.

Legen Sie die replizierten Informationen in der Slave-Datenbank fest:

CHANGE MASTER TO
MASTER_HOST='主数据库IP地址',
MASTER_USER='repl_user',
MASTER_PASSWORD='repl_password',
MASTER_LOG_FILE='二进制日志的文件名',
MASTER_LOG_POS=二进制日志的位置;

Darunter muss die IP-Adresse der Master-Datenbank durch die tatsächliche IP-Adresse der Master-Datenbank ersetzt werden, und der Dateiname und der Speicherort des Binärprotokolls sollten die Werte verwenden im vorherigen Schritt aufgezeichnet.

Dann starten Sie den Replikationsprozess auf der Slave-Datenbank:

START SLAVE;

Sie können den Status des Replikationsprozesses über den Befehl SHOW SLAVE STATUSG anzeigen.

Auf diese Weise werden die Datenänderungsvorgänge in der Master-Datenbank mit der Slave-Datenbank synchronisiert, wodurch serverübergreifende Datenvorgänge realisiert werden.

Zusammenfassend kann MySQL über die Federated Storage Engine und die Replikationsreplikationsfunktion server- und datenbankübergreifende Datenoperationen realisieren. Entwickler können geeignete Methoden auswählen, um server- und datenbankübergreifende Datenoperationen basierend auf den tatsächlichen Anforderungen durchzuführen.

Die oben genannten Methoden und Beispielcodes für die Implementierung server- und datenbankübergreifender Datenoperationen in MySQL werden Ihnen hoffentlich weiterhelfen.

Das obige ist der detaillierte Inhalt vonWie implementiert man server- und datenbankübergreifende Datenoperationen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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