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