Questo tutorial illustra due modi per clonare Database MySQL in esecuzione su Compute Engine. Un metodo utilizza snapshot dei dischi permanenti. L'altro metodo utilizza l'esportazione e l'importazione native di MySQL, trasferendo esporta il file utilizzando Cloud Storage. Cloud Storage è il servizio di archiviazione di oggetti di Google Cloud. Offre un modo semplice, sicuro, durevole e ad alta disponibilità di archiviazione .
La clonazione è il processo di copia di un database su un altro server. La è indipendente dal database di origine e viene conservata come point-in-time senza dover creare uno snapshot. Puoi utilizzare un database clonato per vari scopi senza inserire un carico sul server di produzione o mettere a rischio l'integrità dei dati di produzione. Alcune di queste finalità includono:
- Eseguire query di analisi.
- Test di carico o di integrazione delle tue app.
- Estrazione dei dati per il completamento dei data warehouse.
- Esperimenti sui dati in corso.
Ogni metodo di clonazione descritto in questo tutorial offre vantaggi e svantaggi. Il metodo ideale per te dipende dalla tua situazione. Le seguenti evidenzia alcuni problemi chiave.
Problema | Metodo 1: snapshot dei dischi | Metodo 2: esporta e importa utilizzando Cloud Storage |
---|---|---|
Spazio su disco aggiuntivo richiesto sulle istanze MySQL | Nessuno spazio su disco aggiuntivo richiesto | Spazio aggiuntivo necessario per archiviare il file di esportazione durante la creazione e il ripristino |
Carico aggiuntivo sulle istanze MySQL di origine durante la clonazione | Nessun caricamento aggiuntivo | Carico aggiuntivo su CPU e I/O durante la creazione e il caricamento del file di esportazione |
Durata della clonazione | Relativamente veloce per database di grandi dimensioni | Relativamente lenta per database di grandi dimensioni |
Può clonare da istanze MySQL esterne a Google Cloud | No | Sì |
complessità | Una complessa sequenza di comandi per collegare i dischi clonati | Un insieme relativamente semplice di comandi per la clonazione |
Può sfruttare i sistemi di backup esistenti | Sì, se il sistema di backup utilizza gli snapshot dei dischi Google Cloud | Sì, se il sistema di backup esporta i file in Cloud Storage |
Granularità della clonazione | Può clonare solo interi dischi | Può clonare solo il database specificato |
Coerenza dei dati | Coerenza al punto dello snapshot | Coerenza al momento dell'esportazione |
Può utilizzare Cloud SQL come origine | No | Sì, se viene utilizzata la stessa versione |
Può utilizzare Cloud SQL come destinazione | No | Sì |
Questo tutorial presuppone che tu abbia familiarità con la riga di comando Linux e MySQL l'amministrazione dei database.
Obiettivi
- Scopri come eseguire un database MySQL su Google Cloud.
- Scopri come creare un database demo su un disco secondario.
- Scopri come clonare un database MySQL utilizzando Snapshot dei dischi di Compute Engine.
- Scopri come clonare un database MySQL trasferendo un file di esportazione con di archiviazione ideale in Cloud Storage.
- Scopri come clonare un database MySQL in Cloud SQL trasferendo un file di esportazione con di archiviazione ideale in Cloud Storage.
Costi
In questo documento utilizzi i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi basata sull'utilizzo previsto,
utilizza il Calcolatore prezzi.
Una volta completate le attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la pagina Pulizia.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Abilitare l'API Compute Engine. Abilitare l'API
Configurazione dell'ambiente
Per completare questo tutorial, devi configurare il tuo ambiente di computing con le seguenti:
- Un'istanza MySQL su Compute Engine (denominata
mysql-prod
) da rappresentare sul server del database di produzione. - Un disco aggiuntivo (denominato
mysql-prod-data
) collegato al server di produzione per l'archiviazione del database di produzione. - Una copia del
Database
Employees
importati inmysql-prod
per simulare il database di produzione che si vuole da clonare. - Un'istanza MySQL su Compute Engine (denominata
mysql-test
) per rappresentare il server del database di test. Cloni il tuo database su questo server.
Il seguente diagramma illustra questa architettura.
Crea l'istanza VM di produzione
Per simulare un ambiente di produzione, devi configurare una VM di Compute Engine che esegue MySQL su Debian Linux.
L'istanza VM per questo tutorial utilizza due dischi: un disco da 50 GB per il sistema operativo e e un disco da 100 GB per l'archiviazione del database.
In Compute Engine, l'uso di dischi separati offre rendimento vantaggi dell'IA. Le prestazioni del disco sono determinate dalla capacità di archiviazione totale di tutti i dischi permanenti collegati a un'istanza e per il numero totale di vCPU sull'istanza VM. Pertanto, il database e il file di log possono trovarsi sullo stesso disco.
Apri Cloud Shell.
Imposta la zona preferita:
ZONE=us-east1-b REGION=us-east1 gcloud config set compute/zone "${ZONE}"
Crea un'istanza Compute Engine:
gcloud compute instances create mysql-prod \ --machine-type=n1-standard-2 \ --scopes=cloud-platform \ --boot-disk-size=50GB \ --boot-disk-device-name=mysql-prod \ --create-disk="mode=rw,size=100,type=pd-standard,name=mysql-prod-data,device-name=mysql-prod-data"
Questo comando concede all'istanza l'accesso completo alle API Google Cloud, crea un disco secondario da 100 GB e lo collega all'istanza. Ignora l'avviso relativo alle prestazioni del disco perché per questo tutorial non sono necessarie prestazioni elevate.
Configura il disco aggiuntivo
Il secondo disco collegato all'istanza di produzione serve per l'archiviazione di produzione. Questo disco è vuoto, quindi devi partizionare, formattare montarla.
Nella console Google Cloud, vai alla pagina Istanze VM.
Assicurati che sia presente un segno di spunta verde La dicitura check è visualizzata accanto a il nome dell'istanza
mysql-prod
, per indicare che l'istanza è pronto.Fai clic sul pulsante SSH accanto all'istanza
mysql-prod
. Il browser apre una connessione terminale all'istanza.Nella finestra del terminale, visualizza un elenco di dischi collegati all'istanza:
lsblk
L'output è il seguente:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk └─sda1 8:1 0 50G 0 part / sdb 8:16 0 100G 0 disk
Il disco denominato
sdb
(100 GB) è il disco dati.Formatta il disco
sdb
e crea una singola partizione con un file system ext4:sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0,discard \ /dev/sdb
Crea la directory dei dati MySQL che fungerà da punto di montaggio per il disco dati:
sudo mkdir -p /var/lib/mysql
Per montare automaticamente il disco nel punto di montaggio che hai creato, aggiungi una voce al file
/etc/fstab
:echo "UUID=`sudo blkid -s UUID -o value /dev/sdb` /var/lib/mysql ext4 discard,defaults,nofail 0 2" \ | sudo tee -a /etc/fstab
Monta il disco:
sudo mount -av
Rimuovi tutti i file dal disco dati in modo che possa essere utilizzato da MySQL come directory di dati:
sudo rm -rf /var/lib/mysql/*
Installa il server MySQL
Devi scaricare e installare MySQL Community Edition. MySQL viene creata sul disco aggiuntivo.
Nella sessione SSH connessa a
mysql-prod
, scarica e installa il Pacchetto di configurazione MySQL:wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
Quando ti viene richiesto, seleziona l'opzione MySQL Server e cluster, quindi mysql-5.7.
Nell'elenco, seleziona l'opzione Ok per completare la configurazione del pacchetto.
Aggiorna la cache del repository e installa i pacchetti mysql-community:
sudo apt-get update sudo apt-get install -y mysql-community-server mysql-community-client
Quando ricevi un avviso che la directory dei dati esiste già, seleziona Ok.
Quando ti viene chiesto di fornire una password root, crea e inserisci password. Prendi nota della password o conservala temporaneamente in un luogo sicuro.
Scarica e installa il database di esempio
Nella sessione SSH connessa all'istanza
mysql-prod
, installa git:sudo apt-get install -y git
Clona il repository GitHub contenente gli script di database
Employees
:git clone https://github.com/datacharmer/test_db.git
Passa alla directory dello script del database
Employees
:cd test_db
Esegui lo script di creazione del database
Employees
:mysql -u root -p -q < employees.sql
Quando ti viene richiesto, inserisci la password root creata in precedenza.
Per verificare che il database di esempio funzioni, puoi eseguire una query che conta il numero di righe nella tabella
employees
:mysql -u root -p -e "select count(*) from employees.employees;"
Quando ti viene richiesto, inserisci la password root che hai creato in precedenza.
L'output è il seguente:
+----------+ | count(*) | +----------+ | 300024 | +----------+
Crea l'istanza VM di test
In questa sezione creerai un'istanza VM MySQL denominata mysql-test
come
per il database clonato. La configurazione di questa istanza è
identico all'istanza di produzione. Tuttavia, non crei un secondo dato
disk; puoi collegare il disco dati più avanti in questo tutorial.
Apri Cloud Shell.
Crea l'istanza MySQL di test:
gcloud compute instances create mysql-test \ --machine-type=n1-standard-2 \ --scopes=cloud-platform \ --boot-disk-size=50GB \ --boot-disk-device-name=mysql-test
Puoi ignorare l'avviso relativo alle prestazioni del disco perché non hai bisogno di delle prestazioni per questo tutorial.
Installa il server MySQL sull'istanza VM di test
Devi anche scaricare e installare MySQL Community Edition
l'istanza VM mysql-test
.
Nella sessione SSH connessa a
mysql-test
, scarica e installa il Pacchetto di configurazione MySQL:wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
Quando viene richiesto, seleziona il ruolo MySQL Server & opzione cluster e quindi seleziona mysql-5.7.
Nell'elenco, seleziona l'opzione Ok per completare la configurazione del pacchetto.
Aggiorna la cache del repository e installa i pacchetti mysql-community:
sudo apt-get update sudo apt-get install -y mysql-community-server mysql-community-client
Quando ti viene chiesto di fornire una password root, crea e inserisci password. Prendi nota della password o conservala temporaneamente in un luogo sicuro.
Clonare il database utilizzando gli snapshot dei dischi di Compute Engine
Un modo per clonare un database MySQL in esecuzione su Compute Engine è archiviare il database su un disco dati separato e utilizzare snapshot di disco permanente per creare un clone di quel disco.
Snapshot di dischi permanenti di ottenere una copia point-in-time dei dati su disco. La pianificazione degli snapshot dei dischi è un modo per eseguire automaticamente il backup dei dati.
In questa sezione del tutorial, esegui le seguenti operazioni:
- Acquisisci uno snapshot del disco dati del server di produzione.
- Crea un nuovo disco dallo snapshot.
- Monta il nuovo disco sul server di test.
- Riavvia il server MySQL sull'istanza di test in modo che utilizzi un nuovo disco come disco dati.
Il seguente diagramma mostra come un database viene clonato utilizzando snapshot del disco.
Crea lo snapshot del disco
Apri Cloud Shell.
Crea uno snapshot del disco di dati nella stessa zona dell'istanza VM:
gcloud compute disks snapshot mysql-prod-data \ --snapshot-names=mysql-prod-data-snapshot \ --zone="${ZONE}"
Dopo alcuni minuti, viene creato lo snapshot.
Collega lo snapshot del disco all'istanza di test
Devi creare un nuovo disco dati dallo snapshot che hai creato e poi collegarlo all'istanza mysql-test
.
Apri Cloud Shell.
Crea un nuovo disco permanente utilizzando lo snapshot del disco di produzione per i suoi contenuti:
gcloud beta compute disks create mysql-test-data \ --size=100GB \ --source-snapshot=mysql-prod-data-snapshot \ --zone="${ZONE}"
Collega il nuovo disco all'istanza
mysql-test
con la lettura e la scrittura autorizzazioni:gcloud compute instances attach-disk mysql-test \ --disk=mysql-test-data --mode=rw
Monta il nuovo disco dati in Linux
Per utilizzare il disco dati clonato come directory dei dati di MySQL, devi arrestare l'istanza MySQL e montare il disco.
Nella sessione SSH connessa a
mysql-test
, interrompi il servizio MySQL:sudo service mysql stop
Nella finestra del terminale, visualizza un elenco di dischi collegati all'istanza:
lsblk
L'output è il seguente:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk └─sda1 8:1 0 50G 0 part / sdb 8:16 0 100G 0 disk
Il disco denominato
sdb
(100 GB) è il tuo disco dati.Monta il disco dati MySQL nella directory dei dati MySQL:
sudo mount -o discard,defaults /dev/sdb /var/lib/mysql
Il montaggio di questo disco nasconde tutti i file di configurazione e gli spazi delle tabelle MySQL, sostituendoli con i contenuti del disco.
Con questo comando il disco viene montato temporaneamente e non viene rimontato avvio di sistema. Se vuoi montare il disco all'avvio del sistema, crea un
fstab
. Per ulteriori informazioni, vedi Configura il disco aggiuntivo in precedenza in questo tutorial.
Avvia MySQL nell'istanza di test
Nella sessione SSH connessa a
mysql-test
, avvia il servizio MySQL:sudo service mysql start
Per verificare che il database clonato funzioni, esegui una query che conta il numero di righe nella tabella
employees
:mysql -u root -p -e "select count(*) from employees.employees;"
Quando richiesto, inserisci la password root del database
mysql-prod
o server web. La password root dell'istanza di produzione è obbligatoria perché l'intera La directory dei dati MySQL è un clone della directory dei dati dell'mysql-prod
Ad esempio, tutti i database, gli utenti del database e le loro password copiato.+----------+ | count(*) | +----------+ | 300024 | +----------+
Il numero di righe è lo stesso dell'istanza
mysql-prod
.
Ora che hai visto come clonare un database utilizzando gli snapshot dei dischi permanenti, puoi provare a clonare un database utilizzando l'esportazione e l'importazione. A completare il tutorial per questo secondo approccio, devi smontare il file disco.
Smonta il disco clonato
Per smontare il disco clonato creato utilizzando gli snapshot del disco, esegui la seguenti passaggi:
Nella sessione SSH connessa all'istanza
mysql-test
, arresta MySQL servizio:sudo service mysql stop
Smonta il disco di dati clonato dalla directory dei dati di MySQL:
sudo umount /var/lib/mysql
Riavvia il servizio MySQL:
sudo service mysql start
Clonazione tramite esportazione e importazione
Un secondo metodo per clonare un database MySQL in esecuzione
Compute Engine utilizza l'esportazione MySQL nativa (con mysqldump
) e
per l'importazione. Con questo approccio, trasferisci il file di esportazione utilizzando
di archiviazione ideale in Cloud Storage.
Questa sezione del tutorial utilizza risorse che hai creato nella Clonare il database utilizzando gli snapshot del disco di Compute Engine di questo tutorial. Se non hai completato la sezione, devi farlo prima di continuare.
In questa sezione del tutorial imparerai a:
- Creare un bucket Cloud Storage.
- Esporta il database nell'istanza di produzione, scrivendolo in di archiviazione ideale in Cloud Storage.
- Importa il file di esportazione nell'istanza di test leggendolo da Cloud Storage.
Il seguente diagramma mostra come un database viene clonato trasferendo un'esportazione utilizzando Cloud Storage.
Poiché è possibile concedere ai sistemi esterni a Google Cloud l'accesso Cloud Storage, puoi utilizzare questo approccio per clonare i database di istanze MySQL esterne.
Crea un bucket Cloud Storage
Devi creare un bucket Cloud Storage in cui archiviare i file di esportazione
durante il trasferimento dall'istanza mysql-prod
all'istanza mysql-test
in esecuzione in un'istanza Compute Engine.
Apri Cloud Shell.
Crea un bucket Cloud Storage nella stessa regione della VM di Compute Engine:
gcloud storage buckets create "gs://$(gcloud config get-value project)-bucket" --location="${REGION}"
Esporta il database
Nel tuo ambiente di produzione, potresti già eseguire backup utilizzando mysqldump
esporta i file. Puoi utilizzare questi backup come base per clonare il database.
In questo tutorial, creerai un nuovo file di esportazione utilizzando mysqldump
, che non
influire sulle pianificazioni dei backup completi o incrementali
esistenti.
Nella sessione SSH connessa all'istanza
mysql-prod
, esportaEmployees
, inserendolo in un flusso di dati in un database Cloud Storage nel bucket che hai creato in precedenza:mysqldump --user=root -p --default-character-set=utf8mb4 --add-drop-database --verbose --hex_blob \ --databases employees |\ gcloud storage cp - "gs://$(gcloud config get-value project)-bucket/employees-dump.sql"
Quando richiesto, inserisci la password root del server di database
mysql-prod
.Utilizzi il set di caratteri
utf8mb4
nell'esportazione per evitare qualsiasi carattere problemi di codifica.L'opzione
--add-drop-database
viene utilizzata in modo che le istruzioniDROP DATABASE
eCREATE DATABASE
siano incluse nell'esportazione.
Importa il file esportato
Nella sessione SSH connessa all'istanza
mysql-test
, trasmetti lo streaming esportato dal tuo bucket Cloud Storage nell'accountmysql
a riga di comando:gcloud storage cat "gs://$(gcloud config get-value project)-bucket/employees-dump.sql" |\ mysql --user=root -p --default-character-set=utf8mb4
Quando richiesto, inserisci la password root del server di database
mysql-test
.Utilizzi il set di caratteri
utf8mb4
nell'importazione per evitare di aggiungere caratteri problemi di codifica.Per verificare che il database clonato funzioni, esegui una query che conta il numero di righe nella tabella
employees
:mysql -u root -p -e "select count(*) from employees.employees;"
Quando richiesto, inserisci la password root del server di database
mysql-test
.+----------+ | count(*) | +----------+ | 300024 | +----------+
Il numero di righe è lo stesso dell'istanza
mysql-prod
.
Utilizzo di Cloud SQL come destinazione di clonazione
Se il database di destinazione è ospitato su Cloud SQL e il database di origine è su Compute Engine, l'unico meccanismo supportato per la clonazione è esportare il database in Cloud Storage e poi importarlo in Cloud SQL.
Come spiegato nella documentazione di Cloud SQL, Cloud SQL può importare il file esportato solo se non contiene trigger, stored procedure, viste o funzioni.
Se il database si basa su uno di questi elementi, devi escluderlo dalla
esportali utilizzando le righe di comando --skip-triggers
e --ignore-table [VIEW_NAME]
argomenti e quindi di ricrearli manualmente dopo l'importazione.
Crea un'istanza Cloud SQL per MySQL
Apri Cloud Shell.
Crea un'istanza Cloud SQL per MySQL che esegue la stessa versione del database dell'istanza
mysql-prod
:gcloud sql instances create mysql-cloudsql \ --tier=db-n1-standard-2 --region=${REGION} --database-version MYSQL_5_7
Dopo alcuni minuti viene creato il database Cloud SQL.
Reimposta la password dell'utente root su un valore noto:
gcloud sql users set-password root \ --host=% --instance=mysql-cloudsql --prompt-for-password
Quando ti viene chiesto di fornire una password root, crea e inserisci password. Prendi nota della password o conservala temporaneamente in un luogo sicuro.
Esporta il database
Per esportare il database in un formato adatto per l'importazione in Cloud SQL, devi escludere tutte le visualizzazioni nel database.
Nella sessione SSH connessa all'istanza
mysql-prod
, imposta una variabile di ambiente contenente un insieme di argomenti a riga di comando per il comandomysqldump
in modo che ignori le visualizzazioni nel databaseEmployees
:DATABASE_NAME=employees IGNORE_TABLES_ARGS="`mysql -u root -p -s -s -e \" SELECT CONCAT('--ignore-table ${DATABASE_NAME}.',TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_TYPE LIKE 'VIEW' AND TABLE_SCHEMA = '${DATABASE_NAME}'; \"`"
Quando richiesto, inserisci la password root del server di database
mysql-prod
.Visualizza i contenuti delle variabili per verificare che siano stati impostati correttamente:
echo "${IGNORE_TABLES_ARGS}"
--ignore-table employees.current_dept_emp --ignore-table employees.dept_emp_latest_date
Esporta il database
Employees
, esclusi trigger e viste, trasmettendolo in streaming direttamente in un oggetto Cloud Storage nel bucket che hai creato precedenti:mysqldump --user=root -p --default-character-set=utf8mb4 --add-drop-database --verbose \ --hex-blob --skip-triggers --set-gtid-purged=OFF \ $IGNORE_TABLES_ARGS \ --databases employees |\ gcloud storage cp - "gs://$(gcloud config get-value project)-bucket/employees-cloudsql-import.sql"
Quando richiesto, inserisci la password root del server di database
mysql-prod
.
Aggiorna autorizzazioni degli oggetti
È necessario impostare le autorizzazioni corrette su entrambi i bucket Cloud Storage
e l'oggetto di esportazione, in modo che l'account di servizio Cloud SQL sia in grado di leggerli.
Queste autorizzazioni vengono impostate automaticamente quando utilizzi la console Google Cloud per
importa l'oggetto oppure puoi impostarli con i comandi gcloud
.
Apri Cloud Shell.
Imposta una variabile di ambiente contenente l'indirizzo dell'account di servizio della tua istanza Cloud SQL:
CLOUDSQL_SA="$(gcloud sql instances describe mysql-cloudsql --format='get(serviceAccountEmailAddress)')"
Aggiungi l'account di servizio al criterio IAM del bucket come lettore e scrittore:
gcloud storage buckets add-iam-policy-binding "gs://$(gcloud config get-value project)-bucket/" \ --member=user:"${CLOUDSQL_SA}" --role=roles/storage.objectUser
Importa il database esportato
Apri Cloud Shell.
Importa il file esportato nell'istanza Cloud SQL:
gcloud sql import sql mysql-cloudsql \ "gs://$(gcloud config get-value project)-bucket/employees-cloudsql-import.sql"
Quando richiesto, inserisci
y
.Per verificare che il database clonato funzioni, esegui una query conta il numero di righe nella tabella
employees
:echo "select count(*) from employees.employees;" |\ gcloud sql connect mysql-cloudsql --user=root
Quando richiesto, inserisci la password root del server di database
mysql-cloudsql
.L'output è il seguente:
Connecting to database with SQL user [root].Enter password: count(*) 300024
Il numero di righe è lo stesso dell'istanza
mysql-prod
.
Informazioni aggiuntive per i sistemi di produzione
Utilizzo degli snapshot dei dischi
Per i backup fisici (ad esempio gli snapshot del disco), la documentazione di MySQL
consiglia
di mettere in pausa le scritture nel database prima di acquisire uno snapshot. Per farlo devi
utilizzando
FLUSH TABLES WITH READ LOCK
. Al termine dello snapshot, puoi utilizzare UNLOCK TABLES
per riavviare le scritture.
Per i database che utilizzano tabelle InnoDB, consigliamo di acquisire lo snapshot
senza dover prima eseguire il comando FLUSH TABLES WITH READ LOCK
. Questo
permette al database di rimanere in esecuzione senza effetti negativi, ma lo snapshot
potrebbe essere in uno stato incoerente. Tuttavia, in questo caso, il motore InnoDB
puoi ricreare lo stato coerente delle tabelle all'avvio del clone.
Per i database che utilizzano tabelle MyISAM, l'esecuzione del FLUSH TABLES WITH READ LOCK
blocca tutte le scritture nelle tabelle, rendendo il database di sola lettura
finché non esegui il comando UNLOCK TABLES
.
Se crei uno snapshot senza prima aver fatto il flush e il blocco delle tabelle, il rischio che il database appena clonato contenga dati incoerenti danneggiato.
Pertanto, per ottenere uno snapshot coerente dei database che utilizzano tabelle MyISAM, consigliamo di eseguire FLUSH TABLES WITH READ LOCK
su una replica di lettura e di acquisire uno snapshot della replica in modo che le prestazioni del database principale (master) non siano interessate.
Utilizzo del comando mysqldump
Per creare un file di esportazione coerente con il database di origine,
il comando mysqldump
blocca tutte le tabelle durante l'operazione di esportazione. Ciò significa che le scritture nel database sono bloccate durante l'esportazione del database.
Ti consigliamo quindi di eseguire il comando mysqldump
su una
replica del database primario in modo che quello principale non sia bloccato.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, puoi eliminare il progetto Google Cloud che hai creato per questo tutorial.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Passaggi successivi
Scopri come monitorare le query lente in MySQL con Cloud Monitoring.
Esplora le architetture di riferimento, i diagrammi e le best practice su Google Cloud. Dai un'occhiata al nostro Centro architetture cloud.