GNU/Linux >> Linux Esercitazione >  >> Linux

Configura la replica sorgente-origine MySQL

Nota :Rackspace Support non è in grado di aiutare con le impostazioni della replica sorgente-origine a causa della complessità della configurazione e della probabilità di errore. Come alternativa alla replica sorgente-origine MySQL diretta, prendi in considerazione il nostro servizio Cloud Databases o il nostro motore di replicazione come Tungsten per una replica dei dati più affidabile tra le istanze di database.

Replica origine-origine MySQL

Questo articolo mostra come impostare la replica del cluster:replica bidirezionale e circolare tra due server cloud. La replica dei dati Source-Source consente ai dati replicati, archiviati su più computer, di essere aggiornati da qualsiasi membro autorizzato del gruppo. Ciò consente una collaborazione più aperta rispetto alla replica della replica dell'origine in cui tutte le modifiche necessarie identificate da un membro del gruppo devono essere inviate all'origine designata del nodo.

Questo tutorial utilizza il sistema operativo Debian 5 (Lenny), creato dall'immagine di base di RackspaceCloud.

Schema di configurazione

Ci sono due Cloud Server, debian501 e debian502 , in questo esercizio. Entrambi i server hanno due indirizzi IP (uno pubblico, uno privato). L'esercizio configura la replica da eseguire sull'interfaccia IP privata in modo da non incorrere in alcun addebito per la larghezza di banda.

Creazione dei Cloud Server

È necessario creare due server cloud Linux, utilizzando l'immagine di base di Debian 5. Utilizzare i seguenti passaggi per creare ciascun server separatamente.

  1. Accedi al pannello di controllo del cloud.
  2. Nella barra di navigazione in alto, fai clic su Seleziona un prodotto> Rackspace Cloud .
  3. Seleziona Server> Server cloud .
  4. Fai clic su Crea server .
  5. Assegna un nome ai server in modo da poterli identificare facilmente durante l'installazione. In questo esercizio sono chiamati debian501 e debian502.
  6. Seleziona l'immagine Debian.
  7. Seleziona la configurazione della RAM (flavor) soddisfa i requisiti del tuo database.
  8. Fai clic su Crea server .

I seguenti comandi del server devono essere eseguiti come utente privilegiato (root, gruppo sudo).

Installazione di MySQL

Per prima cosa dobbiamo installare MySQL su entrambi i Debian Cloud Server. Come sempre, prima di installare qualsiasi pacchetto, dobbiamo assicurarci che il nostro elenco di pacchetti sia aggiornato e che le nostre impostazioni locali/lingua siano configurate correttamente.

  • Aggiorna il database dei pacchetti:

      # aptitude update
    
  • Installa le localizzazioni:

      # aptitude install locales
    
      # dpkg-reconfigure locales
    
  • Le dpkg-reconfigure locales comando fa apparire una finestra di impostazione delle impostazioni locali in cui puoi scegliere le impostazioni locali per il tuo sistema a seconda del tuo paese e regione. In questo caso, scegli en\_GB.UTF-8 .

  • Ora, esegui i seguenti comandi per installare MySQL:

      # aptitude install mysql-server mysql-client libmysqlclient15-dev
    

Configurazione della replica

Una volta che il server-mysql pacchetto è stato installato correttamente, inizia a configurare ciascuno dei nodi MySQL per consentire la replica tra di loro.

È necessario creare il database che verrà replicato, nonché il nome utente e la password della replica da utilizzare con esso. Puoi utilizzare i comandi descritti di seguito per configurarli, ricordandoti di modificare tutte le stringhe/valori tra parentesi da applicare alla tua configurazione specifica.

  • Per prima cosa, su debian501, accedi alla console mysql (usando la password di root mysql che hai impostato durante l'installazione di MySQL).

      # mysql -u root -p
      mysql>
    
  • Ora crea l'utente di replica, che viene utilizzato per sincronizzare le modifiche.

      mysql> grant replication slave on \*.\* to replicauser@'[private IP of debian502]' identified by '[some password]';
      mysql> flush privileges;
      mysql> exit
    
  • Fai lo stesso per debian502.

      mysql> grant replication slave on \*.\* to replicauser@'[private IP of debian501]' identified by '[some password]';
      mysql> flush privileges;
      mysql> exit
    
  • Di nuovo su debian501, modifica /etc/mysql/my.cnf e inserisci, aggiorna o decommenta le seguenti voci:

      bind-address = 0.0.0.0
      server-id = 1
      log-bin = /var/log/mysql/var/bin.log
      log-slave-updates
      log-bin-index = /var/log/mysql/log-bin.index
      log-error = /var/log/mysql/error.log
      relay-log = /var/log/mysql/relay.log
      relay-log-info-file = /var/log/mysql/relay-log.info
      relay-log-index = /var/log/mysql/relay-log.index
      auto_increment_increment = 10
      auto_increment_offset = 1
      master-host = [private IP address of debian502]
      master-user = [replication username]
      master-password = [replication password]
      replicate-do-db = <database name to be replicated>
    
  • Ripetere i passaggi sul server debian502.

      bind-address = 0.0.0.0
      server-id = 2
      log-bin = /var/log/mysql/bin.log
      log-slave-updates
      log-bin-index = /var/log/mysql/log-bin.index
      log-error = /var/log/mysql/error.log
      relay-log = /var/log/mysql/relay.log
      relay-log-info-file = /var/log/mysql/relay-log.info
      relay-log-index = /var/log/mysql/relay-log.index
      auto_increment_increment = 10
      auto_increment_offset = 2
      master-host =  [private IP address of debian501]
      master-user = [replication username]
      master-password = [replication user password]
      replicate-do-db = [database name to be replicated]
    
  • Ora riavvia entrambi i database. Se il riavvio del servizio su uno dei server non riesce, controlla /var/log/mysql/error.log file per eventuali errori. Aggiorna la configurazione e controlla eventuali errori di battitura, e così via.

Test degli scenari

Allo scopo di testare la configurazione della replica, creare i database specificati nella sezione di configurazione precedente. Crea anche una tabella di test su uno dei nodi e guarda i file di registro in /var/log/mysql directory. Tieni presente che tutte le modifiche al database devono essere replicate immediatamente sull'altro server.

  mysql> create database [your-db-name];
  mysql> use [your-db-name]
  mysql> create table foo (id int not null, username varchar(30) not null);
  mysql> insert into foo values (1, 'bar');
  • Come test aggiuntivo, arrestare il servizio MySQL su debian502, apportare modifiche al database sul server debian501 e quindi riavviare il servizio MySQL su debian502. Il servizio MySQL debian502 dovrebbe sincronizzare automaticamente tutte le nuove modifiche.

  • Dovresti anche considerare di modificare i valori di rotazione del log binario predefiniti (expire_logs_days e max_binlog_size ) in /etc/mysql/my.cnf file,perché, per impostazione predefinita, tutti i log binari vengono conservati per 10 giorni. Se si dispone di un numero elevato di transazioni sull'applicazione database, può causare un utilizzo significativo dello spazio su disco rigido nei registri. Quindi, considera la possibilità di modificare quei valori in modo che corrispondano alle tue politiche di backup del server. Ad esempio, se disponi di backup giornalieri impostati sul tuo nodo MySQL, non è necessario conservare 10 giorni di log binari.


Linux
  1. Come impostare la replica master-master di MySQL

  2. Come configurare MySQL Multi-Master Replication su Oracle Linux

  3. Configura WSO2 API Manager con il database MySQL

  4. Configura il server MySQL sul sistema operativo Ubuntu

  5. Configura la replica della replica sorgente di MySQL

Come configurare la replica MySQL Master-Slave su CentOS 7

Come configurare la replica master-slave MySQL (MariaDB) su Debian 10

Configura la replica multimaster OpenLDAP su Linux

Replica MySQL 8 Master-Slave su Ubuntu 20.04

Come installare e configurare MySQL su Ubuntu 18.04

Come impostare la replica MySQL Master-Slave su RHEL 7?