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 27/03/2017, 16:48]
5.51.153.31 [Redéfinir de force le mot de passe de root]
mysql [Le 06/05/2018, 01:17]
82.230.119.244 [Privilèges]
Ligne 1: Ligne 1:
 +{{tag>​Precise Trusty sgbd mysql serveur réseau}}
  
 +----
 +
 +====== MySQL ======
 +
 +**[[https://​www.mysql.com/​|MySQL]]** est un [[wpfr>​SGBD|système de gestion de bases de données relationnelles]] (SGBDR) libre, gratuit, performant, très populaire, multi-threadé,​ multi-utilisateurs...
 +===== Installation =====
 +
 +Installez, en ligne de commande, le paquet mysql-server.<​note important>​L'​installation de ce paquet doit se faire en utilisant dans un terminal la commande <​code>​sudo apt-get install mysql-server</​code>​ En effet, en passant par le terminal, l'​installation se déroule correctement et notamment vous demande le mot de passe mysql-server </​note>​
 +
 +<​note>​Le support de l'​extension [[wpfr>​PHP_Data_Objects|PHP Data Objects]] PHP Data Objects (PDO) est installé par défaut avec php5-mysql lors de l'​installation de php5.</​note>​
 +
 +===== Utilisation =====
 +
 +==== Démarrage ====
 +
 +Pour démarrer le serveur MySQL, tapez la [[:​commande_shell|commande]] suivante dans un [[:​terminal]]:​
 +
 +  sudo service mysql start
 +
 +
 +==== Redémarrage ====
 +
 +Pour redémarrer le serveur MySQL, tapez la [[:​commande_shell|commande]] suivante dans un [[:​terminal]]:​
 +  sudo service mysql restart
 +
 +==== Arrêt ====
 +
 +Pour arrêter le serveur MySQL, tapez la [[:​commande_shell|commande]] suivante dans un [[:​terminal]]:​
 +  sudo service mysql stop
 +
 +==== Rechargement de la configuration ====
 +
 +Pour que MySQL prenne en compte les modifications de sa configuration,​ [[:​commande_shell|commande]] suivante dans un [[:​terminal]]:​
 +  sudo service mysql reload
 +
 +==== Forcer la prise en compte de la nouvelle configuration ====
 +
 +Pour forcer MySQL à recharger ses fichiers de configuration,​ [[:​commande_shell|commande]] suivante dans un [[:​terminal]]:​
 +  sudo service mysql force-reload
 +
 +===== Configuration =====
 +
 +==== Lancer la console MySQL ====
 +
 +<note important>​
 +Bogue possible rencontré avec le client texte de MySQL : la touche [Suppr] du clavier insère le tilde **~** (au lieu de supprimer).
 +
 +Pour palier ce bogue, installez le programme rlwrap (pour en savoir plus : //man rlwrap//), [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​rlwrap]]** et ajoutez celui-ci avant la commande mysql, exemple :
 +
 +  rlwrap -a mysql -uroot -pvotremotdepasse votrebase
 +
 +</​note>​
 +
 +  * Si vous n'avez pas défini de mot de passe (déconseillé) : <​code>​mysql -u root</​code>​
 +  * Si vous avez défini un mot de passe : <​code>​mysql -u root -p</​code>​ et tapez votre mot de passe.
 +
 +Vous arriverez alors sur un prompt du type :
 +
 +  mysql>
 +
 +Vous pouvez alors taper vos requêtes MySQL. N'​oubliez pas le point-virgule à la fin de la requête. Si vous l'​oubliez le prompt passe à la ligne.
 +
 +<​code>​
 +mysql> select * from
 +    ->
 +</​code>​
 +
 +Ce passage vous indique que la requête n'est pas terminée. Vous pouvez entrer vos requêtes de cette façon sur plusieurs lignes et enfin la clôturer avec le « **;** ».
 +
 +==== Sélectionner la base de données à utiliser ====
 +
 +Soit directement lorsque vous lancez le client MySQL en [[:​commande_shell|ligne de commande]]:
 +
 +  mysql -u root -D votre_base
 +
 +Soit une fois connecté à MySQL en tapant la [[:​commande_shell|commande]] suivante dans un [[:​terminal]]:​
 +
 +  mysql> use votre_base
 +
 +==== Ajouter ou changer le mot de passe de root ====
 +
 +<note important>​
 +Depuis mysql 5.7 le champ PASSWORD de la description de la base de donnée a été changé en authentication_string.
 +À partir de cette version, il faut donc remplacer le mot **password** dans les instructions ci-dessous par **authentication_string**.
 +</​note>​
 +
 +Pour changer le mot de passe de l'​utilisateur root (qui n'est pas le même que l'​utilisateur root du système) :
 +
 +Si vous êtes déjà connecté dans mysql :
 +
 +  SET password FOR "​root"​@"​localhost"​ = password('​Nouveau_mot_de_passe'​);​
 +
 +Sinon depuis un terminal :
 +
 +  sudo mysqladmin -u root password Nouveau_mot_de_passe -p Ancien_mot_de_passe
 +
 +Vous pourrez avoir besoin de mettre votre mot de passe entre guillemet si celui ci comporte des caractères spéciaux.
 +
 +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 ====
 +
 +=== Méthode 1 ===
 +
 +Une méthode simple :
 +
 +  sudo service mysql reset-password
 +
 +=== Méthode 2 ===
 +
 +Une autre méthode simple qui fonctionne sur Ubuntu versions 8.04 & + :
 +
 +  sudo dpkg-reconfigure mysql-server-5.5
 +  ​
 +Depuis Ubuntu 14.04 (et peut-etre même avant) c'est le paquet mysql-server-5.7 qui est installé. La commande est donc :
 +
 +  sudo dpkg-reconfigure mysql-server-5.7
 +
 +=== Méthode 3 ===
 +
 +Une méthode plus compliquée :
 +
 +Si vous avez perdu votre mot de passe root pour MySQL, suivez ces quelques étapes :
 +
 +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 :
 +
 +<code SQL>
 +use mysql
 +</​code>​
 +
 +On met en place le nouveau mot de passe :
 +
 +<code SQL>
 +update `user`
 +set    password = password('<​votre_mot_de_passe>'​)
 +where  user = '​root'​ and host = '​localhost';​
 +</​code>​
 +
 +(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)
 +
 +<note important>​ À partir de mysql 5.7 cette instruction deviendra :
 +
 +<​code>​
 +UPDATE mysql.user
 +SET authentication_string=PASSWORD('​NouveauMdP'​)
 +WHERE user='​root'​ AND host='​localhost';​
 +</​code>​
 +</​note>​
 +
 +
 +
 +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
 +
 +==== Utiliser un autre numéro de port ====
 +
 +Pour activer la connexion à MySQL via le port 3306, activez l’accès distant en commentant la ligne suivante dans le fichier **/​etc/​mysql/​mysql.conf.d/​mysqld.cnf** ​ ou  [**/​etc/​mysql/​mysql.conf.d/​mysqld.cnf** avec la version 16 d'​Ubuntu] (en ajoutant ''#''​ au début de la ligne) :
 +
 +  skip-networking
 +  ​
 +ou
 +  ​
 +  bind-address = 127.0.0.1
 +
 +Ensuite, si vous voulez changer de port, il suffit de modifier la ligne suivante du bloc [mysqld] pour y mettre le port voulu
 +
 +  port            = 3306
 +  ​
 +FIXME
 +
 +==== Connexions entrantes ====
 +
 +Par défaut, MySQL n'​écoute que les connexions venant de //​localhost//​ (127.0.0.1),​ c'​est-à-dire du système sur lequel il est installé.
 +
 +Pour pouvoir accéder à MySQL depuis un autre ordinateur, [[:​tutoriel:​comment_editer_un_fichier|ajoutez la ligne suivante au fichier]] **/​etc/​mysql/​my.cnf** dans la section « ''​[mysqld]''​ » :
 +
 +<​file>​
 +bind-address = x.x.x.x
 +</​file>​
 +
 +où x.x.x.x est l'​adresse ip de l'​interface sur laquelle MySQL doit écouter. Cela permet de n'​écouter que sur une ip privée si vous avez plusieurs interfaces réseaux.
 +
 +Pour forcer mysql à écouter sur toutes les interfaces réseau, il suffit de commenter la ligne "​bind-address = 127.0.0.1"​ (ou écrire bind-address = 0.0.0.0) Cela peut être dangereux si votre serveur est connecté à Internet directement.
 +
 +Redémarrez le service après avoir modifié le fichier de configuration :
 +<​code>​sudo /​etc/​init.d/​mysql restart</​code>​
 +
 +
 +
 +Pour créer un utilisateur mysql qui est autorisé à se connecter à distance :
 +
 +se connecter sur mysql en root :
 +
 +<​code>​mysql -u root -p</​code>​
 +
 +une fois connecté :
 +<​code>​grant all privileges on *.* to '​remote_user'​@'​123.123.123.123'​ identified by '​user_password';</​code>​
 +
 +le ***.*** représente l'​accès à l'​ensemble des bases de données, si vous voulez autoriser l'​accès de l'​utilisateur à une seule base de données, remplacez ***.*** par le nom de la base de données.
 +
 +le **remote_user** est le nom de l'​utilisateur qui sera créé.
 +
 +le **123.123.123.123** représente l'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 attribuer un mot de passe à l'​utilisateur,​ changer **user_password** par le nouveau mot de passe..
 +
 +Pour rendre ces privilèges effectifs :
 +<​code>​flush privileges;</​code>​
 +
 +
 +==== Configuration en UTF-8 ====
 +
 +Il suffit d'​ajouter les deux lignes suivantes à la fin de la section « ''​[mysqld]''​ » du fichier **/​etc/​mysql/​my.cnf** :
 +
 +<​file>​
 +character-set-server=utf8
 +skip-character-set-client-handshake
 +</​file>​
 +
 +NB: en 12.04 remplacez character-set-server=utf8 par character_set_server=utf8
 +
 +puis de relancer le serveur mysql :
 +
 +  sudo service mysql restart
 +
 +Vous pouvez vérifier le résultat une fois loggé dans mysql grâce à la commande suivante :
 +
 +<code SQL>
 +SHOW VARIABLES LIKE '​char%';​
 +</​code>​
 +
 +Résultat :
 +
 +<​file>​
 +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)
 +</​file>​
 +
 +FIXME
 +
 +===== Quelques requêtes SQL =====
 +
 +Toutes ces commandes sont à entrer dans le prompt de MySQL une fois connecté au serveur. (Voir comment [[#​lancer_la_console_mysql|lancer la console MySQL]] ci dessus.)
 +
 +
 +==== Base de donnée ====
 +
 +=== Utiliser une base de données existante ===
 +
 +<code SQL>
 +use nom_de_la_base;​
 +</​code>​
 + 
 +=== Créer une base de données ===
 +
 +<code SQL>
 +create database nom_de_la_base;​
 +</​code>​
 +
 +=== Liste des bases de données ===
 +
 +<code SQL>
 +show databases ;
 +</​code>​
 +
 +=== Supprimer une base de données ===
 +
 +<code SQL>
 +drop database nom_de_la_base;​
 +</​code>​
 +
 +=== Importer une base de données située dans le répertoire courant (base de donnée exportée en .sql) ===
 +
 +<code SQL>
 +source fichier.sql;​
 +</​code>​
 +
 +
 +==== Tables ====
 +
 +=== Liste des tables de la base de données active ===
 +
 +<code SQL>
 +show tables;
 +</​code>​
 +
 +=== Structure d'une table ===
 +
 +<code SQL>
 +describe nom_table;
 +</​code>​
 +
 +=== Renommer une table ===
 +
 +<code SQL>
 +alter table nom_table rename as nouveau_nom;​
 +</​code>​
 +
 +Pour la syntaxe des requêtes SQL, reportez-vous à la [[http://​dev.mysql.com/​doc/​|documentation MySQL]].
 +
 +
 +==== Utilisateurs ====
 +
 +=== Créer un utilisateur ===
 +
 +<code SQL>
 +create user "​nom_utilisateur"​@"​localhost";​
 +</​code>​
 +
 +=== Définir un mot de passe ===
 +
 +<code SQL>
 +set password for "​nom_utilisateur"​@"​localhost"​ = password('​mot_de_passe'​);​
 +</​code>​
 +
 +=== Supprimer un utilisateur ===
 +
 +<code SQL>
 +drop user "​nom_utilisateur"​@"​localhost";​
 +</​code>​
 +
 +=== Lister les utilisateurs ===
 +
 +<code SQL>
 +select user from mysql.user;
 +</​code>​
 +
 +
 +==== Privilèges ====
 +
 +=== Donner tous les droits sur une base de données à un utilisateur précis ===
 +
 +<code sql>
 +grant all on nom_base.* to "​nom_utilisateur"​@"​localhost";​
 +</​code>​
 +
 +=== Supprimer les droits sur une base de données à un utilisateur précis ===
 +
 +<code SQL>
 +revoke all privileges on nom_base.* from "​nom_utilisateur"​@"​localhost";​
 +</​code>​
 +
 +
 +===== Autres opérations =====
 +
 +Qt4 avec Mysql:
 +
 +Installer la librairie pour mysql afin de l'​utiliser sous QT :
 +
 +<​code>​sudo apt-get install libqt4-sql-mysql</​code>​
 +
 +
 +
 +==== Sauvegarde et importation ====
 +
 +Pour **exporter** la base de donnée « maBase », utilisez la commande :
 +
 +  mysqldump -u root -p maBase > maBase_backup.sql
 +
 +Ceci fera l'​export dans un fichier « 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
 +
 +Ainsi nous aurons une exportation seulement de la table //​ma_table//​ sans toucher à d'​autres tables de la base des données
 +
 +Pour **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.
 +
 +<note tip>
 +Si vous souhaitez mettre en place une solution de sauvegarde automatique de bases de données à intervalle régulier, rendez-vous sur le tutoriel traitant de la [[:​tutoriel:​sauvegarder_automatiquement_ses_bases_de_donnees|sauvegarde automatique de bases de données via cron]].
 +</​note>​
 +
 +D'​autres commandes telles que la suppression des tables, de la base, l'​ajout des données dans la base des données, etc. peuvent être trouvées sur le [[http://​dev.mysql.com/​doc/​refman/​5.0/​fr/​sql-syntax.html|site de documentation de MySQL]].
 +
 +
 +==== Restauration à partir du dump du datadir ====
 +
 +<note important>​Ne fonctionne que pour les tables au format MyISAM.</​note>​
 +
 +Si vous n'avez pas pu faire un backup pour une raison quelconque (par exemple, vous récupérez un disque dur dont le système est mort), on peut sauvegarder le répertoire « /​var/​lib/​mysql/​ » dans lequel chacune des bases est enregistrée dans un répertoire portant son nom.
 +
 +Pour restaurer vos bases une par une, suivez la procédure ci-dessous (après avoir d'​abord installé une version de mysql-server).
 +
 +Créer une base de données du même nom que celle que vous voulez restaurer :
 +
 +  echo "​CREATE DATABASE MaBaseDeDonnee"​ | mysql -u root -h localhost -p
 +
 +Copier les fichiers du dump de la base de données (les *.FRM, *.MYD, *.MYI, *.opt), dans le dossier que MySQL a créé pour votre base de données :
 +
 +  cd ~/​MonDossierContenantLeDump/​MaBaseDeDonnee
 +  sudo cp * /​var/​lib/​mysql/​MaBaseDeDonnee
 +
 +Changer les droits sur les fichiers copiés :
 +
 +  sudo chmod -R ug+rw /​var/​lib/​mysql/​MaBaseDeDonnee/​
 +  sudo chown -R mysql:mysql /​var/​lib/​mysql/​MaBaseDeDonnee/​
 +
 +Voilà, votre base doit correctement fonctionner à présent.
 +
 +==== Compacter l'​espace utilisé par ibdata1 ====
 +
 +Mysql stocke ses fichiers dans le dossier /​var/​lib/​mysql. Il arrive avec le temps et l'​utilisation que le fichier ibdata1 occupe un espace disque très important qui ne sera pas récupéré même en supprimant toutes les bases.
 +
 +Pistes pour comprendre et corriger ce problème : 
 +  * [[http://​bytes.com/​groups/​mysql/​495219-mysql-ibdata1-compact-space|Supprimer les tables InnoDB pour récupérer l'​espace]]
 +  * [[http://​bugs.mysql.com/​bug.php?​id=1287|"​Bogue"​ associé]]
 +  * Exporter toutes les bases de données, arrêter mysql, supprimer le fichier, démarrer sql et importer toutes les bases.
 +
 +
 +==== Déplacer ses bases de données MySQL ====
 +
 +<note warning>​Attention !! lors d'une migration ubuntu14.04 -> 16.04 ne lancez pas la migration sans avoir remis mysql en état d'​origine (/​var/​lib/​mysql). Faites les opérations inverses décrites ci-dessous pour remettre vos données dans /​var/​lib/​mysql.</​note>​
 +L'​emplacement des données de MySQL est indiqué dans la variable **datadir** qui se trouve dans le fichier ''​my.cnf''​.
 +Toutefois, il peut exister plusieurs fichiers ''​my.cnf''​ :
 +<​code>​
 +$ mysqld --verbose --help | head -n13 | tail -n2
 +Default options are read from the following files in the given order:
 +/etc/my.cnf /​etc/​mysql/​my.cnf ~/​.my.cnf ​
 +</​code>​
 +Éventuellement ce fichier contient des directives **!includedir**. Il faut alors chercher dans ces répertoires le fichier qui contient **datadir**.
 +
 +Dans la suite, nous allons déplacer les données dans **/​home/​mysql**.
 +
 +Tout d'​abord on arrête le service :
 +<​code>​$ sudo service mysql stop</​code>​
 +[[:​tutoriel:​comment_modifier_un_fichier|On édite le fichier]] qui contient **datadir** et on met la nouvelle valeur :
 +<​code>​
 +datadir = /home/mysql
 +</​code>​
 +On suppose que l'​ancienne valeur de **datadir** était **/​var/​lib/​mysql**.
 +On déplace les données :
 +<​code>​$ sudo mv /​var/​lib/​mysql /​home</​code>​
 +
 +Malheureusement cela ne suffit pas.
 +Le premier problème vient du fichier''/​usr/​share/​mysql/​mysql-systemd-start''​ :
 +<​code>​
 +$ head  /​usr/​share/​mysql/​mysql-systemd-start -n25 | tail -n16
 +sanity () {
 +  if [ ! -r /​etc/​mysql/​my.cnf ]; then
 +    echo "MySQL configuration not found at /​etc/​mysql/​my.cnf. Please create one."
 +    exit 1
 +  fi
 +
 +  if [ ! -d /​var/​lib/​mysql ] && [ ! -L /​var/​lib/​mysql ]; then
 +    echo "MySQL data dir not found at /​var/​lib/​mysql. Please create one."
 +    exit 1
 +  fi
 +
 +  if [ ! -d /​var/​lib/​mysql/​mysql ] && [ ! -L /​var/​lib/​mysql/​mysql ]; then
 +    echo "MySQL system database not found. Please run mysql_install_db tool."
 +    exit 1
 +  fi
 +}
 +</​code>​
 +
 +Il faut donc créer le répertoire **/​var/​lib/​mysql/​mysql** avec les bons droits :
 +<​code>​$ sudo mkdir -p /​var/​lib/​mysql/​mysql
 +$ sudo chown -R mysql:mysql /​var/​lib/​mysql
 +$ sudo chmod -R 700 /​var/​lib/​mysql</​code>​
 +
 +Il faut maintenant configurer [[:​apparmor|AppArmor]]. D'​après ce qui suit, nous devons modifier le fichier ''​local/​usr.sbin.mysqld''​ :
 +<​code>​
 +$ tail /​etc/​apparmor.d/​usr.sbin.mysqld -n3
 +  # Site-specific additions and overrides. See local/​README for details.
 +  #include <​local/​usr.sbin.mysqld>​
 +</​code>​
 +[[:​tutoriel:​comment_modifier_un_fichier|Modifier le fichier]] ''/​etc/​apparmor.d/​local/​usr.sbin.mysqld''​ en ajoutant :
 +<​code>​
 +# Allow data dir access
 +  /​home/​mysql/​ r,
 +  /​home/​mysql/​** rwk,
 +</​code>  ​
 +Rechargez :
 +<​code>​sudo service apparmor reload</​code>​
 +Redémarrez le service :
 +<​code>​sudo service mysql start</​code>​
 +Vérifiez le changement :
 +<​code>​
 +$ mysql -u root -p -e '​select @@datadir'​
 +Enter password: ​
 ++--------------+
 +| @@datadir ​   |
 ++--------------+
 +| /​home/​mysql/​ |
 ++--------------+
 +</​code>​
 +
 +==== 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 Web =====
 +
 +Il est possible d’administrer un serveur MySQL via une interface Web avec [[:​phpMyAdmin]]. D'​autres outils sont également disponibles et vous en trouverez une liste non exhaustive sur la page [[:​mysql_outils|Outils MySQL]].
 +
 +===== Liens =====
 +
 +  * [[https://​www.mysql.com/​|Le site officiel de MySQL]] [en]
 +  * [[http://​www.mysql.fr/​|Le site officiel francophone]] [fr]
 +  * [[http://​www.addedbytes.com/​cheat-sheets/​mysql-cheat-sheet/​|Memento MySQL]] [en]
 +  * [[http://​www.system-linux.eu/​index.php?​category/​Mysql|Aller plus loin avec MySQL]] [fr]
 +  * [[http://​www.generation-linux.fr/​index.php?​post/​2007/​12/​17/​9-cours-mysql|En savoir plus sur les commandes Mysql]] [fr] -> 3 petits cours sur MySQL à télécharger (PDF)
 +  * [[http://​www.system-linux.eu/​index.php?​post/​2008/​12/​29/​Configure-et-Installation-de-mysql|Installation à la main]] [fr]
 +  * La page dédiée aux [[:​mysql_outils|outils MySQL]]
 +  * [[:​greensql|GreenSQL : Pare-feu applicatif SQL]]
 +  * [[http://​www.system-linux.eu/​index.php?​post/​2009/​06/​28/​Proteger-son-server-Mysql-avec-GreenSQL|Protéger son serveur MySQL avec GreenSQL]] [fr]
 +  * [[http://​mysql.developpez.com/​|La section dédiée à MySQL sur Developpez.com]] [fr]
 +  * La page des [[:SGBD]].
 +  * [[:​MariaDB]] -> Le serveur alternatif 100% compatible MySQL
 +  * [[.:?​do=showtag&​tag=mysql|La liste des pages taguées avec MySQL]]
 +
 +----
 +
 +//​Contributeurs : [[utilisateurs:​_Enchained]],​ Hugo, Oscar Nsarhaza, [[utilisateurs:​Ner0lph]],​ [[:​utilisateurs:​david96|david96]],​ Gounlaf, [[utilisateurs:​McPeter]].//​[[utillisateurs:​Rewiiz]],​ ernest-le-voyage
  • mysql.txt
  • Dernière modification: Le 06/05/2018, 01:17
  • par 82.230.119.244