Cet article explique MySQL et comment gérer les utilisateurs et les bases de données dans l'outil.
Qu'est-ce que MySQL ?
Les bases de données sont des collections organisées de données. Vous pouvez les utiliser pour stocker des données pures telles que des informations de carte de crédit, des identifiants de produits, des prix, des listes de choses, etc. Cependant, vous ne stockeriez pas des éléments plus complexes tels que des images, des fichiers ou des documents. Si cela aide, c'est un peu comme Microsoft®, Excel® où vous ne copiez que les données brutes pour les stocker, les traiter ou les récupérer ultérieurement. Et MySQL® est un type de base de données Linux® très couramment utilisé.
MySQL contre MariaDB
MySQL est peut-être installé, mais on dirait qu'il s'appelle MariaDB®. Lorsqu'Oracle® a acquis MySQL en 2010, les fondateurs d'origine ont ensuite créé MariaDB en remplacement à l'identique au cas où Oracle abandonnerait MySQL. Ainsi, MySQL et MariaDB sont en grande partie identiques et interchangeables. Les informations contenues dans cet article s'appliquent aux deux.
Vérifier la version
Exécutez la commande suivante pour vérifier la version de votre base de données :
# mysql -v
Connexion
Connectez-vous à votre base de données en utilisant l'une des méthodes suivantes :
Méthode 1 :SSH en tant que root, puis connectez-vous à MySQL
S'il s'agit déjà de l'option par défaut, envisagez de la laisser telle quelle.Si ce n'est pas le cas, créez le fichier suivant avec l'éditeur de texte de votre choix :
# vim /root/.my.cnf
[client]
user=root
password=<password>
Ou si vous préférez, vous pouvez à la place le créer avec :
# echo -e "\n[client]\nuser=root\npassword=<PASSWORD>" >> /root/.my.cnf
Le SecureShell (SSH) dans votre serveur en tant que root
, et connectez-vous à MySQL en exécutant la commande suivante :
# mysql
Méthode 2 :SSH vers le serveur, puis connectez-vous à MySQL
Si vous vous connectez d'abord en SSH à votre serveur, votre utilisateur se connecte à MySQL à partir de localhost
car vous êtes déjà sur la machine avec MySQL.
Connectez-vous depuis localhost en exécutant la commande suivante :
# mysql -u <USER> -p
Méthode 3 :Connectez-vous directement à MySQL
Si vous souhaitez vous connecter directement à MySQL depuis votre ordinateur, vous avez besoin du nom d'hôte ou de l'adresse IP du serveur MySQL. Ensuite, exécutez la commande suivante :
# mysql -h <HOSTNAME_OR_IP> -u <USER> -p
Wildcards dans MySQL
Dans les logiciels, un joker est une sorte d'espace réservé représenté par un astérisque (*). Ce *
peut signifier n'importe quelle combinaison de lettres/chiffres/symboles, vous pouvez donc représenter '12345' comme 1* or *3* or *5
. Par exemple, si vous voulez trouver un nom commençant par la lettre M, vous pouvez rechercher M*
.
Dans MySQL, le caractère générique est un symbole de pourcentage (%).
Par exemple, exécutez la commande suivante pour rechercher toutes les bases de données se terminant par le mot schema :
> show databases like "%schema";
Commandes MySQL courantes
Voici quelques commandes MySQL courantes :
Remarque : Terminez toutes les commandes MySQL par un point-virgule (; ).
Répertorier les bases de données :
> show databases;
Créer une base de données :
> create database <DATABASE>;
Supprimer une base de données :
> drop database <DATABASE>;
Commandes courantes liées aux utilisateurs
Tous les utilisateurs se connectent depuis quelque part. Si les hôtes s'affichent en tant que localhost , ils se sont d'abord connectés au serveur, puis à MySQL. S'il s'affiche sous la forme d'une adresse IP, ils sont connectés directement à MySQL.
Afficher les utilisateurs de la base de données :
> select user, host from mysql.user;
Afficher les utilisateurs de la base de données et les mots de passe chiffrés :
> select user, host, password from mysql.user;
Créer un utilisateur avec toutes les autorisations :
> grant all on *.* to sher@localhost identified by "sdF5";
Cela peut être pour localhost, adresse IP ou % partout (ce que nous ne recommandons pas) :
> grant all on *.* to [email protected] identified by "sdF5";
Renommer l'utilisateur ou changer d'hébergeur :
> rename user user@ip1 to user@ip2;
Actualiser :
> flush privileges;
Commandes de privilèges, d'octrois et d'autorisations
Dans MySQL, les règles habituelles de lecture, d'écriture et d'exécution basées sur Linux ne s'appliquent pas. Au lieu de cela, vous attribuez des autorisations aux utilisateurs en tant que privilèges ou subventions , qui est beaucoup plus granulaire et spécifique. Les sections suivantes présentent quelques exemples :
Afficher les autorisations utilisateur :
> show grants for '<user>'@<localhost/IP>;
Ajouter des subventions utilisateur :
> GRANT SELECT,INSERT,UPDATE on <database>.* to <user>@<localhost/IP>;
Supprimer toutes les autorisations d'utilisateur :
> revoke ALL on *.* from <user>@<localhost/IP>;
Créez une base de données et ajoutez-y l'utilisateur (lecture/écriture signifie tout) :
> create database dbase;
> grant all on dbase.* to <user>@<localhost/IP> identified by 'passwd';
Subventions
La liste suivante répertorie certaines des subventions MySQL courantes :
- TOUS LES PRIVILÈGES :Tous les accès (à une base de données spécifique / à tout)
- CRÉER :Créer de nouvelles tables / bases de données
- DÉPOSER :Supprimer des tables / BD
- SUPPRIMER :Supprimer des lignes des tableaux
- INSÉRER :Insérer des lignes dans des tableaux
- SÉLECTIONNER :Utilisez la commande Select pour lire les DB (lecture seule)
- MISE À JOUR :Mettre à jour les lignes du tableau
- UTILISATION :Aucun privilège, par défaut
- OPTION DE SUBVENTION :accorder ou supprimer les privilèges d'autres utilisateurs
- CRUD :Créer, Lire, Mettre à jour, Supprimer
Utilisez l'onglet Commentaires pour faire des commentaires ou poser des questions. Vous pouvez également entamer une conversation avec nous.