Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
mysql [Le 06/07/2018, 15:46]
krodelabestiole [Utilisateurs]
mysql [Le 20/07/2018, 01:00] (Version actuelle)
McPeter [Transférer une base de données entre deux serveurs via SSH] vétuste
Ligne 14: Ligne 14:
  
 L'​installation de ce paquet doit se faire de préférence en utilisant [[terminal]] via la commande :​ <​code>​sudo apt install mysql-server</​code>​ L'​installation de ce paquet doit se faire de préférence en utilisant [[terminal]] via la commande :​ <​code>​sudo apt install mysql-server</​code>​
-[[apt>​mysql-server]] est un [[:​tutoriel:​creer un meta paquet|méta-paquet]] qui installera MySQL 5.7 sur [[:Xenial]] et sur [[:​Bionic]].+[[apt>​mysql-server]] est un [[:​tutoriel:​creer un meta paquet|méta-paquet]] qui installera MySQL 5.7 sur [[:xenial|Xenial ​16.04]] et sur [[:bionic|Bionic ​18.04]].
  
 ===== Utilisation ===== ===== Utilisation =====
Ligne 63: Ligne 63:
   * //​auth_socket//​ pour se connecter avec un utilisateur Ubuntu.   * //​auth_socket//​ pour se connecter avec un utilisateur Ubuntu.
  
-Depuis [[:​Bionic]],​ Ubuntu lie par défaut le compte //root// de Ubuntu avec //​auth_socket//​ en installant MySQL. Auparavant il fallait spécifier un mot de passe lors de l'​installation. Cela a différents impacts sur les méthodes de travail. ((Voir [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=2027272|ce fil]] sur le forum pour plus d'​information au sujet des répercutions de l'​utilisation de //​auth_socket//​.))+Depuis [[:bionic|Bionic ​18.04]], Ubuntu lie par défaut le compte //root// de Ubuntu avec //​auth_socket//​ en installant MySQL. Auparavant il fallait spécifier un mot de passe lors de l'​installation. Cela a différents impacts sur les méthodes de travail. ((Voir [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=2027272|ce fil]] sur le forum pour plus d'​information au sujet des répercutions de l'​utilisation de //​auth_socket//​.))
  
 ==== Lancer la console MySQL ==== ==== Lancer la console MySQL ====
Ligne 104: Ligne 104:
  
 <note warning> <note warning>
-À partir de [[:Bionic]] il est vivement déconseillé de modifier la méthode d'​[[#​authentification]] par défaut de l'​utilisateur //root// (//​auth_socket//​). Le système utilise ce compte pour effectuer des tâches de maintenance (auparavant Ubuntu créait un compte spécial //​debian-sys-maint//​ à cette fin).+À partir de [[:bionic|Bionic ​18.04]] il est vivement déconseillé de modifier la méthode d'​[[#​authentification]] par défaut de l'​utilisateur //root// (//​auth_socket//​). Le système utilise ce compte pour effectuer des tâches de maintenance (auparavant Ubuntu créait un compte spécial //​debian-sys-maint//​ à cette fin).
  
 Si vous souhaitez créer un accès "​super-administrateur"​ pour gérer l'​intégralité de vos bases de données et de leurs utilisateurs avec une application tierce ([[:​phpMyAdmin]],​ [[mysql_outils#​adminer|Adminer]],​ ou autre), suivez [[phpmyadmin#​acces_root|cette autre procédure]]. Si vous souhaitez créer un accès "​super-administrateur"​ pour gérer l'​intégralité de vos bases de données et de leurs utilisateurs avec une application tierce ([[:​phpMyAdmin]],​ [[mysql_outils#​adminer|Adminer]],​ ou autre), suivez [[phpmyadmin#​acces_root|cette autre procédure]].
 </​note>​ </​note>​
  
-Pour changer ou attribuer un mot de passe ou l'​utilisateur root (qui n'est pas forcément le même que l'​utilisateur root du système) ou activer son authentification par mot de passe :+Pour changer ou attribuer un mot de passe ou l'​utilisateur root (qui n'est pas forcément le même que l'​utilisateur root du système) ou activer son authentification par mot de passe sur [[:​xenial|Xenial 16.04]] et précédents ​:
  
 Si vous êtes déjà connecté dans mysql : Si vous êtes déjà connecté dans mysql :
Ligne 124: Ligne 124:
 ==== Redéfinir de force le mot de passe de root ==== ==== Redéfinir de force le mot de passe de root ====
  
-<note important>​Ceci ne s'​applique que pour les versions n'​utilisant pas //​[[#​authentification|auth_socket]]//​ par défaut pour le compte //root//, donc [[:Xenial]] et les versions précédentes ([[:​Trusty]]).+<note important>​Ceci ne s'​applique que pour les versions n'​utilisant pas //​[[#​authentification|auth_socket]]//​ par défaut pour le compte //root//, donc [[:xenial|Xenial ​16.04]] et les versions précédentes ([[:trusty|Trusty ​14.04]]).
  
-Sur [[:Bionic]] MySQL n'​utilise pas de mot de passe pour le compte //root//. Il se sert du système d'​authentification des utilisateurs Ubuntu, et donc de [[:​sudo]].</​note>​+Sur [[:bionic|Bionic ​18.04]] MySQL n'​utilise pas de mot de passe pour le compte //root//. Il se sert du système d'​authentification des utilisateurs Ubuntu, et donc de [[:​sudo]].</​note>​
  
 Deux possibilités s'​offrent à vous. Une méthode simple : <​code>​sudo dpkg-reconfigure mysql-server-5.7</​code>​ Deux possibilités s'​offrent à vous. Une méthode simple : <​code>​sudo dpkg-reconfigure mysql-server-5.7</​code>​
Ligne 415: Ligne 415:
  
  
-==== Transférer une base de données entre deux serveurs via SSH ==== 
  
-=== Préambule === 
- 
-Dans le cadre d'une infra sans serveur spécifique de base de données, et que l'on souhaite partager une base commune. 
- 
-=== Mise en place === 
- 
-Dans un premier temps il faut remplir deux conditions : 
-  *  que l'​utilisateur de la base de données soit reconnu par le second serveur 
-  *  que l'​utilisateur de la base de données soit reconnu par les deux serveurs MySql. 
- 
-Pour une reconnaissance utilisateur d'un serveur à un autre : [[ssh#​authentification_par_un_systeme_de_cles_publiqueprivee|Authentification par clés SSH]] (sans passphrase) 
- 
-Pour que MySql reconnaisse l'​utilisateur sans devoir saisir son mot de passe à chaque commande (dans le cas d'un tâche [[cron|CRON]] par exemple), il faut ajouter un fichier dans le répertoire personnel de cet utilisateur et ce __**sur chaque serveur**__. [[tutoriel:​comment_editer_un_fichier|Éditer]]/​créer le fichier **~/​.my.cnf** 
- 
-<​file>​ 
-[mysql] 
-user=nom_utilisateur 
-password=mot_de_passe_utilisateur 
- 
-[mysqldump] 
-user=nom_utilisateur 
-password=mot_de_passe_utilisateur 
-</​file>​ 
-Protéger le : 
- 
-  chmod 600 ~/.my.cnf 
-  ​ 
-Transférer depuis le serveur **A** vers le **B** : 
- 
-  mysqldump nom_bdd_serveur_A | ssh utilisateur_serveur_B@ip_serveur_B mysql nom_bbd_serveur_B 
-  ​ 
-Exemple de commande en tache [[cron|CRON]] : 
- 
-  10 0 * * * mysqldump nom_bdd_serveur_A | ssh utilisateur_serveur_B@ip_serveur_B mysql nom_bbd_serveur_B >/​dev/​null ​ #Mise à jour BDD 
   ​   ​
 ===== Administrer MySQL via une une interface graphique ===== ===== Administrer MySQL via une une interface graphique =====
  • mysql.1530884777.txt.gz
  • Dernière modification: Le 06/07/2018, 15:46
  • par krodelabestiole