In questo tutorial ti mostreremo come configurare la replica MySQL di base su due server CentOS 7, ma gli stessi passaggi dovrebbero funzionare su tutti i sistemi basati su RPM. Utilizzeremo due server virtuali CentOS 7 di prova per questo tutorial con i seguenti indirizzi IP:
MAESTRO: 123.456.789.1
SCHIAVO: 123.456.789.2
Server principale:
1. Accedi tramite SSH
Accedi al server principale come utente root
ssh root@IP_Address
2. Installa il server MySQL
e installa il server MySQL se non è già installato
yum install mysql-server mysql
3. Avvia il server MySQL
Avvia il server MySQL e abilitalo all'avvio all'avvio
systemctl start mysql systemctl enable mysql
4. Configura server MySQL
Quindi, apri il file di configurazione di MySQL con un editor di testo e aggiungi le seguenti righe
vi /etc/my.cnf
server-id = 1 binlog-do-db=database relay-log = mysql-relay-bin relay-log-index = mysql-relay-bin.index log-bin = mysql-bin
Non dimenticare di sostituire "database ' con il nome effettivo del database che vuoi replicare sul server slave.
5. Riavvia il server MySQL
Salva il file di configurazione e riavvia il server MySQL per rendere effettive le modifiche
systemctl restart mysql
6. Crea un utente MySQL per il server slave e configuralo
Accedi al server MySQL come utente root e crea un utente che verrà utilizzato dallo slave
mysql -u root -p
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slaveuser'@'%' IDENTIFIED BY 'PASSWORD' mysql> FLUSH PRIVILEGES; mysql> FLUSH TABLES WITH READ LOCK; mysql> SHOW MASTER STATUS; mysql> SHOW MASTER STATUS; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 245 | database | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) mysql> exit
Avremo bisogno delle coordinate del master che verranno utilizzate per il server slave, quindi scrivile.
File: mysql-bin.000001
Posizione: 245
Sostituisci "PASSWORD ' con una password efficace.
Ora, se il database che vuoi replicare non è vuoto, crea un dump dal database
mysqldump -u root -p --master-data database > /root/database.sql
e trasferisci il file dump sul server slave
rsync -Waq -e ssh /root/database.sql 123.456.789.2:/root
Server slave:
7. Accedi tramite SSH e installa MySQL Server sul server slave
Il prossimo passo è configurare il server slave. Accedi al server slave tramite SSH come utente root e installa il server MySQL come abbiamo fatto sul server master.
Dopo aver installato e avviato il server MySQL, apri il suo file di configurazione e aggiungi le seguenti righe:
vi /etc/my.cnf
server-id = 2 master-host=123.456.789.1 master-connect-retry=60 master-user=slaveuser master-password=PASSWORD replicate-do-db=database relay-log = mysql-relay-bin log-bin = mysql-bin
8. Riavvia il server MySQL
Salva il file e riavvia il server MySQL per modificare l'effetto.
systemctl restart mysql
Importa il file di dump MySQL che abbiamo creato sul server principale
mysql -u root -p < /root/database.sql
9. Configura il server MySQL
Accedi a MySQL come utente root, ferma lo slave e configuralo dove cercare il "file di registro principale"
mysql -u root -p
mysql> slave stop; mysql> CHANGE MASTER TO MASTER_HOST='123.456.789.1', MASTER_USER='slaveuser', MASTER_PASSWORD='PASSWORD', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=245; mysql> slave start;
Usa il nome utente e la password MySQL che abbiamo creato sul server principale.
Puoi controllare lo stato dello slave eseguendo il seguente comando MySQL:
mysql> show slave status;
*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 123.456.789.1 Master_User: slaveuser Master_Port: 3306 Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: database
Se "Slave_IO_Stato ' segnala 'In attesa che il master invii l'evento' la replica è riuscita.
Questo è tutto. È così facile. Se hai bisogno di maggiori informazioni su come impostare una configurazione master di replica, puoi trovarla sul sito Web ufficiale di MySQL.
Ovviamente non devi configurare la replica MySQL su CentOS, se utilizzi uno dei nostri servizi di hosting MySQL, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurare la replica MySQL su CentOS per te. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta. Puoi anche controllare i nuovi aggiornamenti su Come installare MySQL su CentOS 7.
PS. Se ti è piaciuto questo post su come impostare la replica di MySQL su CentOS, condividilo con i tuoi amici sui social network usando i pulsanti a sinistra o lascia semplicemente una risposta qui sotto. Grazie.