Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment installer et configurer MySQL sur Ubuntu

MySQL est l'un des systèmes de gestion de bases de données relationnelles (SGBDR) open source les plus courants, basé sur le langage de requête structuré (SQL), qui est un langage de programmation utilisé pour gérer les données contenues dans une base de données.

Il est rapide, simple à utiliser, même pour les débutants qui se lancent dans le développement backend, et intégré dans divers packages de pile comme Xampp, Lampp et Wamp.

Dans cet article particulier, nous vous montrerons comment installer le serveur MySQL dans votre système Ubuntu. Des informations supplémentaires incluent la configuration des options de sécurité, l'ajustement des méthodes d'authentification et la création d'un nouvel utilisateur. Notre version d'Ubuntu de choix dans ce didacticiel est Ubuntu 20.04 LTS, qui est la dernière version au moment de la rédaction de cet article.

Installer MySQL sur Ubuntu

Exigences

Vous aurez besoin d'avoir des privilèges élevés (root) sur votre système. Vous pouvez le faire en exécutant la commande ci-dessous.

sudo su

Procédure

Au moment de la rédaction de cet article, la version actuelle de MySQL Linux est la version 5.7. Pour commencer l'installation, suivez les étapes ci-dessous :

Étape 1) Assurez-vous que tous les packages et référentiels de votre système sont à jour. Vous pouvez le faire en exécutant la commande ci-dessous :

sudo apt update

Étape 2) Maintenant, nous allons installer MySQL via le gestionnaire de packages apt. Exécutez la commande ci-dessous.

sudo apt install mysql-server

Étape 3) Après une installation réussie, le service mysql devrait démarrer automatiquement. Vous pouvez le confirmer en exécutant la commande ci-dessous :

sudo systemctl status mysql

Vous devriez obtenir une sortie similaire à celle de l'image ci-dessous.

Dans tous les cas où le service n'est pas en cours d'exécution, exécutez la commande ci-dessous :

sudo /etc/init.d/mysql start

Vérifier l'installation de MySQL (facultatif)

Vous pouvez vérifier votre installation en exécutant la commande ci-dessous, qui affichera la version et la distribution de MySQL installées sur votre système.

mysql --version

Sécurisez votre serveur MySQL

Maintenant que le serveur MySQL est installé avec succès, vous devez définir quelques paramètres pour assurer la sécurité du serveur et des bases de données que vous configurerez à l'avenir.

Dans d'autres cas, une fois l'installation du package MySQL Server terminée, l'utilitaire mysql-secure-installation se lancera automatiquement. Cependant, si ce n'est pas votre cas, exécutez la commande ci-dessous :

sudo mysql_secure_installation

Vous verrez une invite vous demandant si vous souhaitez VALIDER LE PLUGIN DE MOT DE PASSE. Il améliore la sécurité du serveur MySQL en vérifiant la force des mots de passe utilisateur permettant aux utilisateurs de définir uniquement des mots de passe forts. Appuyez sur Y pour accepter la VALIDATION ou sur la touche RETOUR pour sauter.

Ensuite, vous devriez voir une invite pour définir le mot de passe root. Entrez votre mot de passe et appuyez sur Entrée. Attention, pour des raisons de sécurité, tout ce que vous saisissez dans la console ne s'affiche pas.

Ensuite, vous devriez voir une invite vous demandant si vous souhaitez supprimer tous les utilisateurs anonymes, entrez Y pour OUI. Pour toute autre invite à partir d'ici, entrez Y pour OUI.

Connectez-vous en tant que root et ajustez l'authentification de l'utilisateur

Le serveur MySQL est livré avec un utilitaire côté client qui vous permet d'accéder et d'interagir avec la base de données à partir du terminal Linux.

En règle générale, après une nouvelle installation de MySQL sur Ubuntu sans effectuer de configuration, les utilisateurs accédant au serveur sont authentifiés à l'aide du plug-in de socket d'authentification (auth_socket).

L'utilisation de auth_socket empêche le serveur d'authentifier un utilisateur à l'aide d'un mot de passe. Non seulement cela soulève des problèmes de sécurité, mais cela empêche également les utilisateurs d'accéder à la base de données à l'aide de programmes externes tels que phpMyAdmin. Nous devons changer la méthode d'authentification de auth_socket à l'utilisation de mysql_native_password.

Pour ce faire, nous devrons ouvrir la console MySQL. Exécutez la commande suivante sur le terminal Linux.

sudo mysql

Maintenant, nous devons vérifier la méthode d'authentification utilisée par la base de données sur différents utilisateurs. Vous pouvez le faire en exécutant la commande ci-dessous.

SELECT user,authentication_string,plugin,host FROM mysql.user;

À partir de l'image ci-dessus, nous pouvons confirmer que l'utilisateur root est bien authentifié à l'aide du plugin auth_socket. Nous devons passer à l'utilisation de "l'authentification par mot de passe" à l'aide de la commande "ALTER USER" ci-dessous. Assurez-vous d'utiliser un mot de passe sécurisé (doit comporter plus de huit caractères combinant des chiffres, des chaînes et des symboles spéciaux) car il remplacera le mot de passe que vous avez défini lors de l'exécution de la commande "sudo mysql_secure_installation" ci-dessus. Exécutez la commande ci-dessous.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

Notez que le texte en surbrillance dans l'image ci-dessus est l'endroit où vous entrerez votre mot de passe sécurisé. Placez-le entre des balises simples. Maintenant, nous devons recharger les tables de droits et mettre à jour les modifications apportées au serveur MySQL. Pour ce faire, exécutez la commande ci-dessous.

FLUSH PRIVILEGES;

Une fois cela fait, nous devons confirmer que l'utilisation root n'utilise plus auth_socket pour l'authentification. Pour ce faire, exécutez à nouveau la commande ci-dessous.

SELECT user,authentication_string,plugin,host FROM mysql.user;

Dans l'image ci-dessus, nous voyons que la méthode d'authentification racine est passée de "auth_socket" à "password".

Puisque nous avons changé la méthode d'authentification pour root, nous ne pouvons pas utiliser la même commande que nous avons utilisée auparavant pour ouvrir la console MySQL. C'est-à-dire "sudo mysql". Nous devrons inclure les paramètres de nom d'utilisateur et de mot de passe, comme indiqué ci-dessous.

mysql -u root -p

Le "-u" indique l'utilisateur, qui est "root" dans notre cas et "-p" signifie "mot de passe", que le serveur vous demandera d'entrer une fois que vous aurez appuyé sur la touche Entrée.

Créer un nouvel utilisateur

Une fois que tout est configuré, vous pouvez créer un nouvel utilisateur auquel vous accorderez les privilèges appropriés. Dans notre cas ici, nous allons créer un utilisateur 'tuts_fosslinux' et attribuer des droits sur toutes les tables de la base de données et la permission de modifier, supprimer et ajouter des privilèges utilisateur. Exécutez les commandes ci-dessous ligne par ligne.

CREATE USER 'tuts_fosslinux'@'localhost' IDENTIFIED BY 'strong_password';

GRANT ALL PRIVILEGES ON *.* TO 'tuts_fosslinux'@'localhost' WITH GRANT OPTION;

La première commande créera le nouvel utilisateur et la seconde attribuera les privilèges nécessaires.

Nous pouvons maintenant tester notre nouvel utilisateur en exécutant la commande ci-dessous.

mysql -u tuts_fosslinux -p

Installer MySQL-Server sur le serveur Ubuntu

L'installation du serveur MySQL sur le serveur Ubuntu ne diffère pas beaucoup des étapes décrites ci-dessus. Cependant, comme un serveur est accessible à distance, nous devons également activer l'accès à distance pour notre serveur.

Pour installer la base de données et configurer les options de sécurité, il suffit d'exécuter les commandes suivantes ligne par ligne sur le Terminal.

sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation

Après une installation réussie, nous devrons activer l'accès à distance. Logiquement, il suffit d'ouvrir un port sur le pare-feu du serveur Ubuntu pour que le serveur MySQL puisse communiquer. Par défaut, le service MySQL s'exécute sur le port 3306. Exécutez les commandes ci-dessous.

sudo ufw enable
sudo ufw allow mysql

Pour améliorer la fiabilité et l'accessibilité de nos bases de données MySQL, nous pouvons configurer le service MySQL-server pour qu'il démarre au démarrage. Pour ce faire, exécutez la commande ci-dessous.

sudo systemctl enable mysql

Nous allons maintenant devoir configurer les interfaces de notre serveur. Il permettra au serveur d'écouter les interfaces accessibles à distance. Nous devrons éditer le fichier ‘mysqld.cnf’. Exécutez les commandes ci-dessous.

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Par défaut, l'adresse de liaison est '127.0.0.1.' Ajoutez une adresse de liaison pour votre interface réseau publique et une autre pour l'interface Service Net. Vous pouvez configurer votre adresse de liaison en tant que "0.0.0.0" pour toutes les adresses IP.

Conclusion

J'espère que vous avez apprécié ce tutoriel sur la configuration du serveur MySQL sur votre système Ubuntu. Si vous débutez avec MySQL et que tout ce dont vous avez besoin est de créer une base de données et un utilisateur simples, les étapes décrites ci-dessus devraient vous être d'une grande aide. Si vous trouvez cet article ingénieux, n'hésitez pas à partager le lien avec un ami.