Archivi

Ultimi Commenti

Categorie

Blog

url

Come reinstallare il server MySQL da zero

In certi casi in ambiente VPS diventa necessario reinstallare MySQL, specialmente se avviene un qualche aggiornamento che corrompe involontariamente il suo funzionamento, oppure se comunque si sbaglia a compiere qualche azione in modo del tutto irreversibile. Questa operazione consta di 6 passi distinti e può essere eseguita in ambiente Unix-Linux con facilità e mediante il terminale di comando: in ambiente hosting questo significa connettersi via SSH al VPS remoto ed impartire i comandi necessari via shell.

1. Effettuare un backup sia del database che dei file di configurazione

Anzitutto sarà necessario farsi una copia:

  1. dei file contenuti nella directory dati di MySQL, tipicamente /var/lib/mysql/;
  2. di tutti i database mysql mediante il comando mysqldump;
  3. file di configurazione di MySQL come /etc/my.cnf, /etc/logrotate.d/mysqld, oppure quelli impostati per la distribuzione Linux che si sta adoperando;
  4. file di log MySQL (ad esempio /var/log/mysqld.log)

Ad esempio in ambiente CentOS è possibile copiarsi i file in questo modo all’interno della cartella /root/mysql-files/ come spiegato di seguito: mkdir /root/mysql-files/ e successivamente andiamo a comprimere tutti i file necessari: tar zcvf /root/mysql-files/mysql.config-files.dd-mm-yyyy.tar.gz /etc/logrotate.d/mysqld /var/log/mysqld.log /etc/my.cnf /root/my.cnf /var/lib/mysql/ Il backup di tutti i database può essere effettuato con uno script bash del genere:

#!/bin/sh
# mysql-backup.sh: Dump MySQL databases.
# Note: Test only on RHEL/CentOS/Debian/Ubuntu Linux.
# Author: nixCraft <www.cyberciti.biz> Under GPL v2.0+
# -----------------------------------------------------
NOW=$(date +"%d-%m-%Y")
BAK="/root/mysql-files/$NOW"

##################
## SET ME FIRST ##
##################
MUSER="root"
MPASS="YOUR-ROOT-PASSWORD-HERE"
MHOST="localhost"

MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"

if [ ! -d $BAK ]; then
  mkdir -p $BAK
else
 :
fi

DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
echo -n "Dumping...${THISDB}..."
for db in $DBS
do
 echo -n "$db "
 FILE=$BAK/mysql-$db.$NOW-$(date +"%T").gz
 $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done
echo -n  "...Done @ ${BAK} directory."
echo ""

che poi si esegue, dopo essere stato salvato in un file omonimo, come: ./mysql-backup.sh

2. Disinstallare la versione di MySQL attuale

Per fare questo basta un comando del genere (vale per Ubuntu): sudo apt-get purge mysql-server mysql-common mysql-client e poi andiamo a cancellare i file residui: sudo rm -rvfi /var/lib/mysql /etc/mysql/ /var/log/mysql* In ambiente CentOS / RedHat / Fedora e similari bisognerà invece scrivere:

Schermata 2014-01-02 alle 10.45.59

3. Reinstallare i software necessari

Adesso è necessario reinstallare nuovamente i software, per farlo basta eseguire il seguente comando:

Schermata 2014-01-02 alle 10.46.11

 

4. Ripristinare i file precedentemente salvati

I comandi da eseguire sono su questa falsariga (si veda qui per maggiori dettagli):

Schermata 2014-01-02 alle 10.46.17

Alla fine, sarà necessario ripristinare anche il file di configurazione di MySQL:

Schermata 2014-01-02 alle 10.46.24

Tradotto liberamente da Cybercity

condividi!

AUTHOR - WEB Hunter

No Comment

0

Sorry, the comment form is closed at this time.