Outils pour utilisateurs

Outils du site


informatique:databases:mysql:tools

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édentesRévision précédente
Prochaine révision
Révision précédente
informatique:databases:mysql:tools [2024/11/21 18:37] – ↷ Page déplacée de informatique:mysql:tools à informatique:databases:mysql:tools alexisinformatique:databases:mysql:tools [2024/11/21 18:52] (Version actuelle) – supprimée alexis
Ligne 1: Ligne 1:
-====== Outils ====== 
-===== Exportation d'une base de données ===== 
-Il est possible de le faire avec PhpMyAdmin mais c'est très long et pas forcément fiable. Il vaut mieux utiliser l'outil mysqldump installé en même temps que mysql. 
-Voici un exemple d'utilisation : 
-<WRAP prewrap> 
-<code bash> 
-mysqldump  
-    --add-drop-database 
-    --skip-comments 
-    --complete-insert 
-    --disable-keys 
-    --extended-insert 
-    --routines 
-    --host=<hostname> 
-    --password 
-    --user=<username> 
-    --result-file=<filename> 
-    --databases <database> 
-</code> 
-</WRAP> 
-  * ''%%--add-drop-database%%'' ajoute une requête de suppression de base avant chaque requête de création de base. 
-  * ''%%--skip-comments%%'' n'ajoute pas les commentaires dans le fichier généré. 
-  * ''%%--complete-insert%%'' génère des requêtes d'insertion contenant les noms de colonnes. 
-  * ''%%--disable-keys%%'' ajoute une requête pour désactiver les clés avant la requête d'insertion et une requête pour activer les clés après. 
-  * ''%%--extended-insert%%'' utilise la syntaxe multi-lignes pour les requêtes d'insertion. 
-  * ''%%--routines%%'' extrait les procédures stockées et les fonctions des bases de données sauvegardées. 
-  * ''%%--host%%'' indique l'hôte de la base de donnée à utiliser. 
-  * ''%%--password%%'' indique le mot de passe à utiliser. 
-  * ''%%--user%%'' indique l'utilisateur à utiliser. 
-  * ''%%--result-file%%'' indique le nom du fichier à générer. 
-  * ''%%--databases%%'' indique que les arguments sont des bases et ajoute les requêtes de création de base. 
  
-Pour plus d'option, il faut regarder dans la [[https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html|documentation officielle]]. 
-===== Exportation d'une table ===== 
-Comme pour l'exportation d'une base de données, il est possible de le faire avec PhpMyAdmin mais il vaut mieux utiliser directement mysql. Voici un exemple d'utilisation : 
-<WRAP prewrap> 
-<code bash> 
-mysqldump  
-    --skip-comments 
-    --complete-insert 
-    --disable-keys 
-    --extended-insert 
-    --host=<hostname> 
-    --password 
-    --user=<username> 
-    --result-file=<filename> 
-    --single-transaction 
-    <database> 
-    <table 1> [<table 2> <table 3>] 
-</code> 
-</WRAP> 
- 
-===== Utilisation du client ===== 
- 
-==== Affichage des options utilisées par défaut ==== 
-<WRAP prewrap> 
-<code bash> 
-mysql --print-defaults 
-</code> 
-</WRAP> 
- 
-==== Ouverture d'une connexion ==== 
-<WRAP prewrap> 
-<code bash> 
-mysql 
-    --user=<username> 
-    --password 
-    --host=<hostname> 
-</code> 
-</WRAP> 
- 
-<WRAP alert> 
-Depuis la version 5.6.7, l'option ''secure-auth'' est activé par défaut.\\ 
-Il faut la désactiver cette option en utilisant l'option ''skip-secure-auth'' si l'erreur suivante apparait : 
->ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled) 
-</WRAP> 
- 
-S'il y a des options inconnues dans les fichiers de configuration, l'ouverture de la connexion échouera. Pour ne pas utiliser ces options, il faut utiliser l'option ''no-defaults''.\\ 
-Il faut noter que le fichier ''.mylogin.cnf'' est chargé quoiqu'il arrive. 
- 
- 
-==== Importation de base de données ==== 
-Comme pour l'exportation d'une base de données, il est possible de le faire avec PhpMyAdmin mais il vaut mieux utiliser directement mysql. Voici un exemple d'utilisation : 
-<WRAP prewrap> 
-<code bash> 
-# avec une redirection 
-mysql --password --user=<username> --database=<database> < <filename> 
- 
-# avec un "pipe" 
-cat <filename> | mysql --password --user=<username> --database=<database> 
-</code> 
-</WRAP> 
-  * ''%%--password%%'' indique le mot de passe à utiliser. 
-  * ''%%--user%%'' indique l'utilisateur à utiliser. 
-  * ''%%--database%%'' indique la base de données à utiliser. 
- 
-===== Changement du mot de passe root (Ubuntu 16.04) ===== 
-Sur Ubuntu 16.04, le mécanisme de gestion des mots de passe ne permet pas d'avoir un mot de passe vide lors de l'installation. Pour pouvoir quand même utiliser un mot de passe vide, il faut réaliser les quelques manipulations suivantes : 
-<WRAP prewrap> 
-<code bash> 
-# Arrêt de mysql 
-sudo service mysql stop 
- 
-# Démarrage de mysql en "safe-mode" 
-sudo mysqld_safe --skip-grant-tables & 
- 
-# Mise à jour du mot de passe 
-mysql -u root -e 'update user set authentication_string="" where User="root"' mysql 
- 
-# Mise à jour du mécanisme de gestion des mots de passe 
-mysql -u root -e 'update user set plugin="mysql_native_password" where User="root"' mysql 
- 
-# Remise à zéro des privilèges 
-mysql -u root -e 'FLUSH PRIVILEGES' mysql 
- 
-# Démarrage de mysql 
-sudo service mysql start 
-</code> 
-</WRAP> 
- 
-<WRAP info> 
-Cette manipulation n'est pas recommandée et sera à refaire à chaque mise à jour de MySql 
-</WRAP> 
informatique/databases/mysql/tools.1732243056.txt.gz · Dernière modification : 2024/11/21 18:37 de alexis