MySQLi - Administration

Exécution et arrêt du serveur MySQLi

MySQLi est une extension de MySQL, alors vérifiez d'abord si votre serveur MySQL fonctionne ou non. Vous pouvez utiliser la commande suivante pour vérifier ceci -

ps -ef | grep mysqld

Si votre MySql est en cours d'exécution, vous verrez mysqldprocessus répertorié dans votre résultat. Si le serveur n'est pas en cours d'exécution, vous pouvez le démarrer en utilisant la commande suivante:

[email protected]# cd /usr/bin
./safe_mysqld &

Maintenant, si vous souhaitez arrêter un serveur MySQL déjà en cours d'exécution, vous pouvez le faire en utilisant la commande suivante -

[email protected]# cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password: ******

Configurer un compte utilisateur MySQLi

Pour ajouter un nouvel utilisateur à MySQLi qui est une version améliorée de MySQL, il vous suffit d'ajouter une nouvelle entrée à user table dans la base de données mysql.

Voici un exemple d'ajout d'un nouvel utilisateur guest avec les privilèges SELECT, INSERT et UPDATE avec le mot de passe guest123; la requête SQL est -

[email protected]# mysql -u root -p
Enter password:*******
mysql> use mysql;
Database changed

mysql> INSERT INTO user (
   host, user, password, select_priv, insert_priv, update_priv) 
   VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y');

Query OK, 1 row affected (0.20 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+
| host      | user    | password         |
+-----------+---------+------------------+
| localhost | guest | 6f8c114b58f2ce9e |
+-----------+---------+------------------+
1 row in set (0.00 sec)

Lors de l'ajout d'un nouvel utilisateur, n'oubliez pas de crypter le nouveau mot de passe à l'aide de la fonction PASSWORD () fournie par MySQL. Comme vous pouvez le voir dans l'exemple ci-dessus, le mot de passe mypass est chiffré à 6f8c114b58f2ce9e.

Notez l'instruction FLUSH PRIVILEGES. Cela indique au serveur de recharger les tables d'octroi. Si vous ne l'utilisez pas, vous ne pourrez pas vous connecter à mysql en utilisant le nouveau compte utilisateur au moins jusqu'à ce que le serveur soit redémarré.

Vous pouvez également spécifier d'autres privilèges à un nouvel utilisateur en définissant les valeurs des colonnes suivantes dans la table utilisateur sur «Y» lors de l'exécution de la requête INSERT ou vous pouvez les mettre à jour ultérieurement à l'aide de la requête UPDATE.

  • Select_priv
  • Insert_priv
  • Update_priv
  • Delete_priv
  • Create_priv
  • Drop_priv
  • Reload_priv
  • Shutdown_priv
  • Process_priv
  • File_priv
  • Grant_priv
  • References_priv
  • Index_priv
  • Alter_priv

Une autre façon d'ajouter un compte utilisateur consiste à utiliser la commande GRANT SQL; l'exemple suivant ajoutera un utilisateurzara avec mot de passe zara123 pour une base de données particulière appelée TUTORIALS.

[email protected]# mysql -u root -p password;
Enter password:*******
mysql> use mysql;
Database changed

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
   -> ON TUTORIALS.*
   -> TO 'zara'@'localhost'
   -> IDENTIFIED BY 'zara123';

Cela créera également une entrée dans la table de base de données mysql appelée user.

NOTE - MySQL ne termine une commande que lorsque vous donnez un point-virgule (;) à la fin de la commande SQL.

La configuration du fichier /etc/my.cnf

Dans la plupart des cas, vous ne devez pas toucher ce fichier. Par défaut, il aura les entrées suivantes -

[mysqld]
datadir = /var/lib/mysql
socket = /var/lib/mysql/mysql.sock

[mysql.server]
user = mysql
basedir = /var/lib

[safe_mysqld]
err-log = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid

Ici, vous pouvez spécifier un répertoire différent pour le journal des erreurs, sinon vous ne devez modifier aucune entrée de ce tableau.

Commande administrative MySQLi

Voici la liste des commandes MySQLi importantes, que vous utiliserez de temps en temps pour travailler avec la base de données MySQL -

  • USE Databasename - Ceci sera utilisé pour sélectionner une base de données particulière dans la zone de travail MySQLi.

  • SHOW DATABASES - Répertorie les bases de données accessibles par le SGBD MySQLi.

  • SHOW TABLES - Affiche les tables de la base de données une fois qu'une base de données a été sélectionnée avec la commande use.

  • SHOW COLUMNS FROM tablename - Affiche les attributs, les types d'attributs, les informations clés, si NULL est autorisé, les valeurs par défaut et d'autres informations pour une table.

  • SHOW INDEX FROM tablename - Présente les détails de tous les index sur la table, y compris la CLÉ PRIMAIRE.

  • SHOW TABLE STATUS LIKE tablename\G - Rapports des détails des performances et des statistiques du SGBD MySQLi.