Comment autoriser les connexions distantes dans MySQL ou MariaDB ?
Dans ce tutoriel, nous allons configurer MySQL de manière à autoriser les connexions à distance au serveur de base de données. S’applique aussi à MariaDB.
Lire cet articleDans ce tutoriel, nous allons configurer MySQL de manière à autoriser les connexions à distance au serveur de base de données. S’applique aussi à MariaDB.
Lire cet articleComment réaliser l’installation de SQL Server 2016 ? Tutoriel pas à pas pour installer une instance SQL sur Windows Server.
Lire cet articleI. Présentation Dans ce tutoriel, nous allons apprendre à personnaliser le prompt (terminal) présent sur le serveur MySQL de base lorsque nous l’utilisation en CLI (Ligne de commande). Le terminal de base CLI MySQL est en effet assez rudimentaire, il ne fournis aucune information mis à part le fait que nous sommes bien connecté au serveur MySQL : Nous pourrions en effet vouloir avoir des informations supplémentaires comme la date, l’utilisateur avec lequel nous sommes connecté, le serveur, etc. II. Procédure pour un changement temporaire Il est en effet possible sur ce terminal MySQL d’afficher des informations beaucoup plus intéressantes, on peut par exemple afficher le nom de l’utilisateur connecté et le nom du serveur comme suivant : Lorsque nous sommes connecté à une session CLI MySQL, il faut pour avoir ce terminal saisir la commande suivante : \R \u@\h > La déclaration du changement d’apparence du prompt se fait avec « \R », les valeurs qui suivent sont soit des caractères
Lire cet articleI. Présentation Par défaut, les bases de données (en tant que fichier) sont stockées dans « /var/lib/mysql/ » sous Linux. Pour des questions d’organisation, de sécurité ou de place, il est peut être intéressant de changer l’emplacement de ces bases de données vers un autre dossier/ chemin. Nous allons voir dans ce tutoriel que cela est possible directement dans la configuration de MySQL. II. Repérer où sont les bases de données Dans un premier temps, nous allons voir où sont situées nos bases de données selon la configuration de notre serveur MySQL. On se rend pour cela dans le fichier « /etc/mysql/my.cnf » : On trouvera alors le champ « datadir » qui pointe par défaut vers « /var/lib/mysql ». Afin de vérifier cette information, nous allons aller dans ce dossier pour voir les bases de données présentes et surtout leurs permissions : ls -al /var/lib/mysql Nous aurons alors un résultat de ce type : Ici, une base de données est représentées par un dossier (comme « mysql » ou
Lire cet articleI. Présentation L’importance des serveurs de base de données et des bases de données elles même dans un système d’information est capital à son bon fonctionnement tant au niveau applicatif qu’au niveau des lectures par les serveurs web. C’est pourquoi il est important, dans une optique de sécurité et de disponibilité de l’information, d’avoir un processus à la fois de réplication des informations en temps réel mais aussi de tolérance de panne. Plus précisément, si un serveur dit « Master » tombe, un autre serveur « Slave » doit prendre le relais de manière immédiate et doit aussi avoir la dernière version des informations. Dans ce tutoriel, nous allons apprendre à mettre en place une réplication des bases de données en temps réel entre un serveur dit « Master » qui va recevoir les processus d’écriture et de lecture et un serveur « Slave » qui se chargera de se mettre à jour selon les modifications faites sur le « Master » afin qu’il dispose des dernières versions des informations
Lire cet articleConfigurer MySQL de façon à activer les logs, la journalisation
Lire cet articleI. Présentation Le modèle physique des données (MPD) d’une base de données permet d’avoir une représentation graphique de la structure d’une base de données et ainsi de mieux comprendre les relations entre les différents tables. Il permet d’avoir un point de vue global sur l’ensemble de la base de données. Nous utiliserons la base de données suivantes pour créer notre MPD : T_Batiments(Bat_Num,Bat_Nom); T_Fabricants(F_Num,F_Nom); T_Switchs(Sw_Num,#Sw_NumFabr,#Sw_NumBat,Sw_Modele,Sw_NbPortsMb,Sw_NbPortsGb); Cette base de données a pour but de répertorier les switchs des fabricants pour ensuite les implémenter dans différents bâtiments. II. Comment créer un MPD ? Dans un MPD, on crée les tables dont on met le nom dans l’en-tête, ensuite à l’intérieur de ces tables on répertorie l’ensemble des champs qu’elles contiennent. Dans un second temps, il faut souligner les champs qui sont des clés primaires et mettre un “#” devant les champs qui sont des clés étrangères. Pour les clés étrangères ce n’est pas tout, il faut montrer, à l’aide d’une flèche vers
Lire cet articleI. Présentation Il peut arriver que vous ayez à faire face à l’erreur « Table is marked as crashed and should be repaired » lors de la manipulation des tables MySQL. II. Pourquoi cette erreur Cette erreur et avertissement peut avoir plusieurs sources. Elle indique la table en question est corrompue et qu’elle doit être réparée. Cela peut être dû à un problème d’espace disque sur la partition où se situe la base de données, à un problème d’extinction de la base de données lors d’une lecture ou d’une écriture d’informations ou alors plus couramment à un problème physique sur le support de stockage, une extinction non prévue, etc .. III. Réparer une table corrompue Nous pouvons le faire grâce à PhpmyAdmin dans un premier temps. Il faut se rendre dans le PhpMyAdmin pour réparer la table (l’opération est aussi faisable en ligne de commande sur le serveur MySQL). On doit ensuite se loguer puis se rendre dans la base de données
Lire cet articleI. Présentation Dans ce tutoriel, nous allons voir comment afficher les droits et permissions d’un utilisateur MySQL en ligne de commande. Le plus souvent, on utilise PhpMyAdmin pour gérer les droits utilisateurs mais il est aussi facile et rapide de le faire en ligne de commande (CLI) Nous allons ici utiliser la commande « show grants » qui sert à afficher les droits d’un utilisateur sur les bases d’un serveur. Il est important de savoir que pour utiliser cette commande, le minimum des droits requis est celui de faire un « select » sur la base de données « mysql » du serveur MySQL. II. Voir les utilisateurs disponibles Nous allons, dans un premier temps, regarder quels sont les utilisateurs présents sur notre serveur après s’être connecté en « root » en ligne de commande : select user,host from mysql.user; Nous aurons alors la liste des utilisateurs ainsi que les hôtes depuis lesquels ils peuvent se connecter. III. Voir nos bases de données Nous allons maintenant chercher à
Lire cet articleI. Présentation Par défaut, MySQL créé, lors de son installation, un super-utilisateur nommé « root ». Cet utilisateur a tous les droits sur toutes les bases de données du serveur. Si un utilisateur doit être ciblé lors d’une attaque sur un service MySQL, c’est bien celui-ci. En effet, si on arrive à avoir les identifiants de cet utilisateur (login et mot de passe), on aura un accès total à toutes les bases de données. Dés le départ, un attaquant peut démarrer une attaque avec 50% des informations requises : le nom de l’utilisateur (« root »). Pour rendre plus difficile et plus lente la tâche d’un attaquant, nous allons modifier le nom de cet utilisateur pour que l’utilisateur « root » n’existe plus. Ainsi, en plus de devoir trouver un mot de passe, l’attaquant devra commencer par trouver l’identifiant du super-utilisateur de notre service MySQL. II. Voir les utilisateurs existants Nous allons commencer par vérifier quel utilisateur est présent sur notre service MySQL. On se connecte
Lire cet articleNous allons dans ce tutoriel voir comment modifier la configuration de votre serveur MySQL pour changer le port d’écoute
Lire cet articleI. Présentation Dans ce tutoriel, nous allons apprendre à changer les mots de passes des utilisateurs et de root dans MySQL. Il existe plusieurs façons de faire avec plusieurs outils et nous allons ici étudier les plus courantes. On peut par exemple utiliser la commande « mysqladmin » qui est spécialement prévue pour ce genre de modification, nous pouvons également utiliser une commande « courante » de changement de valeurs dans une table (« UPDATE ») ou encore s’aider d’outils comme « PhpMyAdmin » qui fournis une interface web pour la gestion de nos bases de données. Il faut savoir que, comme toutes les informations concernant MySQL et ses bases de données, les utilisateurs, leurs droits et leurs mots de passe sont stockés dans la base de données « mysql » et plus précisément dans la table « user ». La seule chose que nous avons à faire est donc de modifier la valeur du champ « password » de cette table. II. Changer le mot de passe root avec la commande « mysqladmin » Une
Lire cet articleI. Présentation Lors de la mise en place de scripts utilisant MySQL ou de l’utilisation des commandes MySQL en CLI, il peut être gênant d’avoir à saisir le mot de passe directement dans le script ou la commande qui est exécuté . Nous allons donc chercher à le stocker dans un fichier et à aller le lire par une option supplémentaire dans les commandes. Cela peut nous être pratique dans un soucis de sécurité d’une part, mais également dans un soucis de facilité d’utilisation. II. Fonctionnement On passe pour cela par un fichier déjà existant qui est « /etc/mysql/debian.cnf ». Ce fichier est déjà utilisé par le système. C’est votre machine qui, par le compte « debian-sys-maint » va faire des mises à jours sur la base de données ou des checks système. Le mot de passe associé à cet utilisateur est automatiquement créé à l’installation de MySQL. Il ne faut donc pas y toucher. Nous allons simplement nous contenter de copier ce fichier
Lire cet articleI. Présentation Dans ce tutoriel, nous allons apprendre à importer des bases de données au format « .sql » en ligne de commande. Bien souvent, la réimportation des bases de données à partir de fichier « .sql » passe par l’utilisation de PhpMyAdmin. Mais il peut aussi être utile de savoir le faire en ligne de commande pour automatiser la tâche par exemple. On doit pour cela avoir un fichier « .sql » à disposition ainsi qu’un serveur MySQL opérationnel. On aura donc un fichier que nous nommerons ici « db.sql » qui contiendra des commandes MySQL (DROP, CREATE, INSERT, …). Dans notre tutoriel, on considérera qu’il est stocké dans « /home/neaj/mysql/ » L’intérêt de mettre ces commandes dans un fichier « .sql » est que cela nous permet de toutes les exécuter en une seule fois. II. Les lignes de commandes Il existe plusieurs façon de faire mais dans tous les cas on utilise la commande « mysql ». # On peut commencer par se connecter avec notre utilisateur mysql -u user -p
Lire cet articleI. Présentation Afin d’assurer une tolérance aux pannes et une sauvegarde des informations importantes, une sauvegarde des bases de données Mysql peut être faite avec un script. Il est en effet intéressant de pouvoir automatiser la sauvegarde des bases de données d’un serveur, car elles contiennent souvent des informations importantes et vitales dans une entreprise. Ce backup sera effectué par un utilisateur « backup » qui sauvegardera régulièrement et automatiquement l’ensemble des bases de données du serveur. II. Création de l’utilisateur de backup Il faut tout d’abord créer un utilisateur qui aura uniquement les droits de lecture sur l’ensemble des bases de données. Les opérations seront lancées à partir d’un script, il serait donc dangereux de les lancer avec un utilisateur ayant des droits de modification, de création ou de suppression sur les bases de données.On se connecte au serveur de base de données : mysql -u root -p On crée l’utilisateur ‘backup’@’localhost’. Il est important de préciser que backup
Lire cet article