Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
mysql [Le 19/07/2018, 21:57] krodelabestiole [Ajouter ou changer le mot de passe de root] xenial et précédents |
mysql [Le 20/07/2018, 01:00] 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 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 ===== |