• SQL > configuration du serveur mySQL ou mariaDB

      MYSQL

      mysql -u root -p

       

      mysql -u root -D nom_base

       

      Dans mysql :

       

      mysql> use votre_base

      Ajouter ou changer le mot de passe de root

      NOTE le root de mysql est différent du root système :

       

      Dans mysql :

      SET password FOR "root"@"localhost" = password('nouveau_mdp');

       

      Depuis un terminal :

      sudo mysqladmin -u root password nouveau_mdp -p ancien_mdp

       

      Lorsque l’utilisateur root ne possède aucun mot de passe, utiliser cette commande :

      sudo mysqladmin -u root password Nouveau_mot_de_passe -p ""

      Redéfinir de force le mot de passe de root

      sudo service mysql reset-password

      ou :

      sudo dpkg-reconfigure mysql-server-5.7

       

      Plus compliquée, si vous avez perdu votre mot de passe root pour MySQL :

       

      On stoppe le serveur MySQL :

      sudo  service mysql stop

       

      On se connecte au serveur sans tenir compte des privilèges utilisateurs :

      sudo /usr/bin/mysqld_safe --skip-grant-tables &
      mysql -h localhost

       

      Nous allons utiliser la table contenant les paramètres de MySQL :

      USE mysql

       

      On met en place le nouveau mot de passe :

      UPDATE mysql.user
      SET authentication_string=<votre_mot_de_passe>('NouveauMdP')
      WHERE USER='root' AND host='localhost';

       

      (Placez le nom de la table `user` entre quotes (AltGr + 7) et remplacez <votre_mot_de_passe> par le mot de passe de votre choix)

      On quitte le prompt de MySQL :

      quit

       

      On stoppe totalement mysqld & mysqld_safe :

      sudo mysqladmin shutdown

       

      On redémarre le serveur MySQL en utilisation normale :

      sudo service mysql start

      Créer un utilisateur mysql

      se connecter sur mysql en root :

       

      mysql -u root -p

       

      une fois connecté :

       

      grant all privileges on *.* to 'remote_user'@'192.168.0.1' identified by 'mot_de_passe';

       

      *.* pour l’ensemble des bases de données, sinon remplacer *.* par le nom de la base de données.

      remote_user nom de l’utilisateur qui sera créé.

      192.168.0.1 IP à partir de laquelle nous pourrons nous connecter à distance. Pour autoriser l’accès venant de toutes machines (limité par l’authentification), remplacer l’ip par le symbole ‘%’.

       

      Pour rendre ces privilèges effectifs :

       

      flush privileges;

      Configuration en UTF-8

      Ajouter les deux lignes suivantes à la fin de la section « [mysqld] » du fichier /etc/mysql/mysql.conf.d/mysqld.cnf :

       

      character-set-server=utf8
      skip-character-set-client-handshake

       

      puis de relancer le serveur mysql :

       

      sudo service mysql restart

       

      Vérifier le résultat dans mysql :

       

      mysqld> SHOW VARIABLES LIKE 'char%';
      +--------------------------+----------------------------+
      | Variable_name            | Value                      |
      +--------------------------+----------------------------+
      | character_set_client     | utf8                       |
      | character_set_connection | utf8                       |
      | character_set_database   | utf8                       |
      | character_set_filesystem | binary                     |
      | character_set_results    | utf8                       |
      | character_set_server     | utf8                       |
      | character_set_system     | utf8                       |
      | character_sets_dir       | /usr/share/mysqld/charsets/ |
      +--------------------------+----------------------------+
      8 rows in set (0.00 sec)

      Quelques requêtes SQL

      Importer une base de données située dans le répertoire courant (base de donnée exportée en .sql)

       

      SOURCE fichier.sql;

       

      Renommer une table :

       

      ALTER TABLE nom_table RENAME AS nouveau_nom;

      Utilisateurs

      Créer un utilisateur

       

      GRANT ALL PRIVILEGES ON ma_table.* TO 'mon_user'@'localhost' IDENTIFIED BY 'mot_de_passe';

       

      Pour rendre ces privilèges effectifs :

       

      flush privileges;

       

      Définir un mot de passe

       

      SET password FOR "nom_utilisateur"@"localhost" = password('mot_de_passe');

       

      Supprimer un utilisateur

       

      DROP USER "nom_utilisateur"@"localhost";

       

      Lister les utilisateurs

       

      SELECT USER FROM mysql.user;

      Privilèges

      Donner tous les droits sur une base de données à un utilisateur précis

      GRANT ALL ON nom_base.* TO "nom_utilisateur"@"localhost";

       

      Supprimer les droits sur une base de données à un utilisateur précis

      REVOKE ALL privileges ON nom_base.* FROM "nom_utilisateur"@"localhost";

      Sauvegarde et importation

      Exporter la base de donnée « maBase », utilisez la commande :

      mysqldump -u root -p maBase > maBase_backup.sql

       

      Pour exporter une table (par exemple ma_table )appartenant à une base des données (par exemple maBase) :

      mysqldump -u root -p maBase ma_table > ma_table.sql

       

      Importer une base de données ou une sauvegarde sur « maBase », utilisez la commande :

      mysql -u root -p maBase < maBase_backup.sql

       

      Puis tapez votre mot de passe.

 

Aucun commentaire

 

Laissez un commentaire