IBM Cloud Docs
Modifica della directory di dati MySQL in un ambiente UNIX o simile

Modifica della directory di dati MySQL in un ambiente UNIX o simile

Attieniti alla seguente procedura per modificare la tua directory di dati MySQL:

  1. Accedi al server utilizzando PuTTY o il tuo cliente preferito.

    Se stai utilizzando una partizione dedicata per la directory dei dati, assicurati di montare la nuova partizione al posto della directory dei dati originale dopo aver copiato i dati. Il montaggio di una nuova partizione salva modifiche alla configurazione non standard con cui alcune applicazioni potrebbero non funzionare.

  2. Chiudere mysqld (MySQL daemon). Il processo per avviare e arrestare il daemon può differire tra diversi sistemi operativi e distribuzioni. MySQL deve essere arrestato durante qualsiasi processo che interessa direttamente le file raw.

    /etc/init.d/mysql stop

    OPPURE

    /etc/init.d/mysqld, /etc/init.d/mysql-server, /usr/loca/etc/init.d/mysql, /opt/lamp…

  3. Esegui il backup del tuo database prima di effettuare una qualsiasi modifica. Assicurati che il MySQL il demone non è in esecuzione quando si eseguono copie dirette dei file di database non elaborati.

Se usi cPanel sul server, fermati cPanel ( TailWatch e chkservd) prima del riavvio del demone. È possibile creare un file temporaneo /etc/chkserv.d/mysqlisevil fermare chkservd dal riavvio del servizio. Se non si ha familiarità con rsync, è possibile utilizzare qualsiasi altro strumento per creare il backup.

rsync -vaP /var/lib/mysql/ /var/lib/mysql.'date +%s'

  1. Crea la directory dei dati e fornisci l'appartenenza all'utente MySQL (o a qualsiasi utente specificato nel tuo file delle opzioni globali 'my.cnf'). In questo esempio, viene utilizzata l'ubicazione /var/lib/mysql-data, ma puoi utilizzare qualsiasi ubicazione desideri. Se stai aggiungendo un disco o un dispositivo logico appositamente per questo scopo, devi aggiungere anche la voce in /etc/fstab e montare la directory prima di procedere.

    chown mysql:mysql /var/lib/mysql-data

  2. Crea una copia finale della directory originale nella nuova MySQL data directory (assicuratevi di mantenere il file finale / alla fine della prima directory):

    rsync -vaP /var/lib/mysql/ /var/lib/mysql-data

  3. Assicurati che la nuova directory dei dati abbia la proprietà corretta, ovvero quella predefinita MySQL utente e gruppo o l'utente specificato nel tuo ' my.cnf'file delle opzioni globali. Se non sei sicuro, puoi utilizzare il seguente comando per l'appartenenza ricorrente della gerarchia completa al gruppo o all'utente MySQL.

    chown -R mysql:mysql /var/lib/mysql-data

Utente MySQL deve disporre dell'autorizzazione completa (rwx) per le cartelle del database e dell'autorizzazione di lettura/scrittura per i file di registro, bin, dati, indice e modulo.

Normalmente, le cartelle del database dispongono di un'autorizzazione di 700 (drwx------) e sono di proprietà di mysql:mysql quando sono in un ambiente host condiviso. L'autorizzazione può essere configurata più liberamente con 755 (drwxr-xr-x) in un ambiente dedicato.

  1. Aggiorna il tuo file di configurazione '/etc/my.cnf' in modo che punti alla nuova directory dei dati.

    Assicurati di eseguire il backup di tutto prima di apportare modifiche al file di configurazione.

    cp -vp /etc/my.cnf /etc/my.cnf.'date +%s' vi /etc/my.cnf

  2. Sostituisci ogni istanza di '/var/lib/mysql' con '/var/lib/mysql-data'. Se non hai un file datadir voce, quindi inserirla all'interno di [mysqld] stanza.

    [mysqld] user = mysql datadir = /var/lib/mysql-data socket = /var/lib/mysql-datal/mysql.sock

  3. Alcune applicazioni dispongono di configurazione personalizzata e questo documento non può coprirle. È risaputo che alcuni script riscontrano un errore se la directory dei dati non è /var/lib/mysql. Pertanto, viene utilizzato un collegamento simbolico per puntare alla nuova posizione.

    mv -v /var/lib/mysql /var/lib/mysql.orig

    ln -s /var/lib/mysql-data /var/lib/mysql

Se non vuoi creare il collegamento, assicurati di cambiare il campo ' mysql.default'_socket e ' mysqli.default'_presa in' php.ini' e fermarsi e ricominciare completamente Apache.

  1. Avvia il daemon MySQL.

/etc/init.d/mysql start

  1. Verifica che MySQL stia funzionando. Se MySQL non risponde, controlla i log degli errori. Ripristina le modifiche se necessario.

mysqladmin ping