Come correggere l’errore 2002 di MySQL

Altro giro, altra corsa! Anche questo fantastico errore, se vi capita (e a me capita anche su installazioni nuove e super aggiornate), può essere davvero fastidioso.

L’errore in questione è:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket...

Evidentemente perché il processo di MySQL non è attivo o non correttamente funzionante.
Controllate lo stato con un semplice sudo service mysql status.

E nel caso fosse tutto attivo, provate ad accedere alla modalità sicura come ho indicato in questo articolo.

Una volta riconfigurato l’account root, riavviate il processo con sudo service mysql restart e tutto dovrebbe rifunzionare come prima!

Come installare phpMyAdmin

Lo so, avevamo già trattato l’argomento phpMyAdmin con una bella guida su come rimuoverlo. Oggi però vediamo come installarlo, indipendentemente da quale sia il vostro sistema operativo.

Se avete Debian o Ubuntu (presupponendo che sia all’ultima versione) vi basterà eseguire dal terminale:

sudo apt install phpmyadmin

Seguite poi i passaggi a schermo e controllate che sia tutto corretto da browser.

Se invece avete Arch:

pacman -S phpmyadmin php-mcrypt

Modificate il file:

nano /etc/php/php.ini

Aggiungendo:

Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
 <Directory "/usr/share/webapps/phpMyAdmin">
  DirectoryIndex index.php
  AllowOverride All
  Options FollowSymlinks
  Require all granted
 </Directory>i

E alla fine di:

nano /etc/httpd/conf/httpd.conf

Aggiungete questa riga:

Include conf/extra/phpmyadmin.conf

Riavviate con systemctl restart httpd e voilà.

Come accettare connessioni remote con MySQL e MariaDB

Dal titolo si capisce già tutto (se siete ovviamente interessati ad accettare connessioni remote) quindi non sto a dare troppi dettagli, andiamo subito alla pratica. Modificate questo file:

sudo nano /etc/mysql/my.cnf

E aggiungete al fondo (cambiando username e password ovviamente):

[client]
user=root
password=password
port=3306
socket=/var/run/mysql/mysql.sock
[mysqld]
bind-address=0.0.0.0

Notare che la porta 3306 è quella di default utilizzata da MySQL e il bind address è tutta la vostra rete locale.

Una volta salvato, riavviate il servizio con:

sudo service mysql restart

Ora provate a connettervi. Se non dovesse ancora connettersi, forzate l’apertura della porta (nel caso non abbiate riavviato) con:

sudo iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT

Tutto questo può esservi molto utile se utilizzate PhpStorm o altri software di gestione remota di SQL e db vari. Ed è ovviamente compatibile con Raspberry Pi e anche su tutti gli altri sistemi operativi Debian o Ubuntu.

Come fare il backup a un database MySQL con uno script Bash

Ok anche in questo caso, se volete fare il backup intero a un vostro database in MySQL, vi basterà usare questo semplice script (che in automatico vi zippa anche il file .sql creato):

sudo nano database.sh

Incollate dentro (cambiando ovviamente i vostri parametri):

#!/bin/bash

user="root"
password="pass123"
host="localhost"
db_name="mydb"
backup_path="/home"
date=`date '+%Y%m%d%H%M%S'`

mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$db_name-$date.sql
tar -zcvf $db_name-$date.tar.gz $db_name-$date.sql

Dategli i permessi con:

sudo chmod 777 database.sh

E fatevi un bel cron job ogni mattina alle 8.00 con:

sudo crontab -e

Incollando dentro:

0 8 * * * /path/database.sh

Come installare Monit su Raspberry Pi

Monit è un servizio che vi permette (il nome lo lasciava intuire) di monitorare diversi servizi e applicativi che volete rimangano sempre attivi e che non smettano di funzionare da un momento all’altro.

Detto in parole semplici, ogni 2 minuti (potrete cambiarlo) controlla che tutto sia ok, nel caso non lo sia può riportare i servizi in running oppure eseguire qualche operazione tipo un avviso tramite email o qualcosa di simile.

Arriviamo al dunque:

sudo apt-get install monit

Successivamente modificate il file:

sudo nano /etc/monit/monitrc

Togliendo il commento a queste righe per far in modo che possiate controllarlo:

set httpd port 2812
use address localhost # only accept connection from localhost
allow localhost # allow localhost to connect to the server and
allow admin:monit

Poi riavviate monit con: monit reload

E controllate lo stato con monit status e voilà.

Nelle prossime guide vedremo come tener attivi SQL e Apache (nel caso abbiate dei web server che volete rimangano always on).