Dans ce tutoriel nous allons installer un serveur mysql basic sur Ubunto / Rapberri PI
Installation de MySQL
#On met a jour les libraries disponibles sudo apt update #On install le dernier mysql sudo apt install mysql-server
#On securise l'installation sudo mysql_secure_installation VALIDATE PASSWORD - yes STRONG - 2 Remove anonymous users - y Disallow root login remotely - y Remove test database - y Reload privilege tables now -y
Configuration des accès
La limitation des accès se fait de préférence avec le firewall.
En effet mysql permet de restreindre à une seul IP… mais c’est bien moins évolutif
#Dans la configuration mysql, on permet donc la connexion depuis toute IP vim /etc/mysql/mysql.conf.d/mysqld.cnf bind-address = 0.0.0.0 sudo systemctl restart mysql.service
#Dans le firewall, on limite les accès au port mysql sur les IP clientes
sudo ufw allow from <mon_IP_Client> to any port 3306
sudo ufw allow from 127.0.0.1 to any port 3306
#On ajoute un utilisateur qui pourra se connecter en utilisant toute les IP cliente definit dans le firewall
sudo mysql
CREATE USER 'mcraftuser'@'%' IDENTIFIED BY '<monpassword>';
CREATE DATABASE minecraftdb;
GRANT ALL PRIVILEGES ON minecraftdb.* TO 'mcraftuser'@'%' WITH GRANT OPTION;
#On vérifie l’état du service MySQL systemctl status mysql.service #On vérifie que notre utilisateur arrive à se loguer : mysql -u mcraftuser -h <mon_IP_Serveur> -P 3306 -p mysql -u mcraftuser -h localhost -P 3306 -p mysql -u mcraftuser -h 127.0.0.1 -P 3306 -p #On vérifie que les commandes admin root fonctionnent bien sudo mysqladmin version
#On peut éventuellement vérifier depuis un client aléatoire que la connexion est bien interdite [Depuis un client] mysql -u mcraftuser -h <mon_IP_Serveur> -P 3306 -p [Sur le serveur] cat /var/log/ufw.log | grep 3306 => On devrait voir un BLOCK log
Astuce / Maintenance
# SAVE/EXPORT A DATABASE mysqldump -u [user] -p [db_name] | gzip > [filename_to_compress.sql.gz] # IMPORT A DATABASE gunzip < [compressed_filename.sql.gz] | mysql -u [user] -p[password] [databasename]