sposta la cartella dati e guida mysql centos


11

ho bisogno di spostare i dati in un'altra cartella e guidare sul mio server db cent os.

ho aggiunto un nuovo disco rigido (dal momento che abbiamo esaurito lo spazio),

ho un disco rigido da 1 TB e ho un nuovo disco da 2 TB su cui voglio inserire i dati sullo stesso server (server dedicato ospitato in un datacenter)

vorrei sapere qual è il modo semplice per migrare i dati senza perdere alcun dato?

attualmente ho i dati localizzati in: /var/lib/mysql/su cent os.mysql version is 5.1


@abdelsaid no, sto usando myisam

Risposte:


13

Passo 1

Prima installa il tuo disco (supponendo che sia montato e configurato correttamente in fstab) e crea una nuova directory MySQL:

sudo mkdir /path/to/new/mysql

Assicurati che questa cartella abbia le autorizzazioni giuste:

chown -R mysql:mysql /data/mysql

Ora qui è possibile arrestare il servizio durante la copia dei dati. Copia i dati dalla directory di dati corrente alla nuova directory di dati, ad esempio :.

sudo cp -R /var/lib/mysql/* /path/to/new/mysql/

oppure puoi copiare singolarmente ogni database se preferisci o se ti senti al sicuro, puoi spostare la cartella usando il mvcomando.

Passo 2

Puoi modificare la posizione dei tuoi dati MySQL nel tuo my.cnf. Se non sai dove si trova questo file, puoi eseguire il comando:

locate my.cnf

Questo ti darà il percorso di dove si trova my.cnf. Quindi modifica il file:

sudo vi /etc/mysql/my.cnf (ovviamente devi sostituire con il tuo percorso)

Ora cerca datadir = /var/lib/mysqle aggiorna a datadir = /path/to/new/mysql.

Quindi riavviare mysql

sudo /etc/init.d/mysqld restart

Dopo alcuni giorni / settimane, se ti senti a tuo agio puoi rimuovere la vecchia cartella (/ var / lib / mysql) o eseguire il backup di tutto all'interno.


0

Se non si desidera arrestare la migrazione durante la migrazione, impostarei una replica master-master per chroot environment su 2tb con mysql (stessa versione), quindi quando sincronizzato disattiva 1tb e hai un ambiente chroot funzionante.

Se non si desidera utilizzare l'ambiente chroot, modificare my.cnf (non quello chroot) in modo che indichi dove si desidera archiviare i file mysql su disco da 2 TB e disabilitare la replica. Quindi disattiva l'ambiente chroot e sposta i dati su ciò che hai in my.cnf, lo spostamento qui non richiederà nemmeno un secondo perché si trova sullo stesso disco. Riavvia mysql.

Questo è un po 'complesso da fare, puoi giocarci prima in ambiente locale VM.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.