Ubuntu-fr. MySQL. Contenu Rechercher Menus

Documents pareils
Olivier Mondet

INTRODUCTION. Mysql-server est un serveur de bases de données. Cest un logiciel libre.

Architecture de la plateforme SBC

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication

Tutoriel compte-rendu Mission 1

Installation d'un serveur FTP géré par une base de données MySQL

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

CASE-LINUX MAIL - ROUNDCUBE

windows. deb etch main deb-src etch main

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

Pratique et administration des systèmes

BTS SIO Dossier BTS. PURCHLA Romain

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

I. MySQL : Serveur et SGBD

PPE GESTION PARC INFORMATIQUE

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql

Raspberry pi : Développer une petite application web sur Raspberry

Documentation pour administrateur Application AER

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

MYSQLDUMP & ZRM COMMUNITY

MariaDB/MySQL Avancé. Pierre Mavro Creative Commons License

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Introduction à MySQL (ou MySQL en 3 heures montre en main)

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Encryptions, compression et partitionnement des données

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Synchronisation Mysql (Replication)

Installation et Mise en œuvre de MySQL

Documentation FOG. Déploiement d images de systèmes d exploitation à travers le réseau.

Table des matières Hakim Benameurlaine 1

Installer un serveur web de développement avec VirtualBox

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

Installation d'un serveur sftp avec connexion par login et clé rsa.

Installation de Zabbix

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

Supervision avec OCS Inventory NG

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Documentation FOG. 3. Choisir le nom de la machine, le nom d utilisateur et le mot de passe correspondant (par exemple : fog, password)

CREATION WEB DYNAMIQUE

TP1 - Prise en main de l environnement Unix.

Cours: Administration d'une Base de Données

Notes de cours : bases de données distribuées et repliquées

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

SQL Historique

Tutoriel Drupal version 7 :

Modélisation et Gestion des bases de données avec mysql workbench

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Sauvegarde automatique des données de GEPI

Tutorial sur SQL Server 2000

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

Gestion des utilisateurs et de leurs droits

UwAmp. Serveur d'evaluation

Le langage SQL (première partie) c Olivier Caron

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

UBUNTU Administration d'un système Linux (4ième édition)

Mysql avec EasyPhp. 1 er mars 2006

Pour les débutants. langage de définition des données

Fully Automated Nagios

Maintenir Debian GNU/Linux à jour

Ce qu'il faut savoir: L'outil de sauvegarde Bacula, peut exploiter 3 moyens différents:

MODE OPERATOIRE CORIM PROGRESS / SECTION MEI. Exploitation Informatique

Etudiant Ella Fitzgerald

Sommaire. Etablir une connexion avec une base de données distante sur PostGreSQL

Projet Administration Réseaux

Mysql. Les requêtes préparées Prepared statements

Configuration matériel. Tâche 2 : Installation proprement dite de l application sur un serveur de test virtualisé sous VmWare Workstation.

OCS Inventory & GLPI

PLANNING DES ACTIVITES PROFESSIONNELLES

Procédure d'installation

Guide d installation de SugarCRM Open Source version 4.5.1

Projet Semestre2-1SISR

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche

Bases de Données relationnelles et leurs systèmes de Gestion

Mise en œuvre de Rembo Toolkit

Xubuntu Une alternative à Windows et à Ubuntu, (pour ceux qui ne veulent pas d'unity) : installer Xubuntu.

Bon ben voilà c est fait!

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Sécurisez votre serveur MySQL sous Unix

OpenMediaVault installation

Serveur proxy Squid3 et SquidGuard

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

CDS Invenio Installation et configuration de base

TP LINUX : MISE EN RÉSEAU D UN SERVEUR LINUX

Guide d installation de Gael

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Procédures informatiques administrateurs Création d un serveur FTP sous Linux

MISE EN PLACE D UN FIREWALL ET D UN SERVEUR PROXY SOUS LINUX MANDRIVA.

Configuration de plusieurs serveurs en Load Balancing

Configurer la supervision pour une base MS SQL Server Viadéis Services

Transcription:

Contenu Rechercher Menus Ubuntu-fr Communauté francophone d'utilisateurs d'ubuntu Recherche : Recherche rapide... Chercher dans : Documentation ok Identifiant : Identifiant Mot de passe : connexion / inscription Installation Utilisation Démarrage Redémarrage Arrêt Rechargement de la configuration Forcer la prise en compte de la nouvelle configuration Configuration Lancer la console MySQL Sélectionner la base de données à utiliser Ajouter ou changer le mot de passe de root Redéfinir de force le mot de passe de root Utiliser un autre numéro de port Connexions entrantes Configuration en UTF-8 Quelques requêtes SQL Base de donnée Tables Utilisateurs Privilèges Autres opérations Sauvegarde et importation Restauration à partir du dump du datadir Compacter l'espace utilisé par ibdata1 Déplacer ses bases de données MySQL Administrer MySQL via une une interface Web Liens sgbd, mysql, serveur, réseau MySQL MySQL est un système de gestion de bases de données relationnelles (SGBDR) libre, gratuit, performant, très populaire, multi-threadé, multi-utilisateurs. Installation Installez le paquet mysql-server. Utilisation doc.ubuntu-fr.org/mysql 1/11

Pour démarrer le serveur MySQL, tapez la commande suivante dans un terminal : sudo service mysql start Pour redémarrer le serveur MySQL, tapez la commande suivante dans un terminal : sudo service mysql restart Pour arrêter le serveur MySQL, tapez la commande suivante dans un terminal : sudo service mysql stop Pour que MySQL prenne en compte les modifications de sa configuration, tapez la commande suivante dans un terminal : sudo service mysql reload Pour forcer MySQL à recharger ses fichiers de configuration, tapez la commande suivante dans un terminal : sudo service mysql force-reload Configuration 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), installez le paquet rlwrap et ajoutez celui-ci avant la commande mysql, exemple : rlwrap -a mysql -uroot -pvotremotdepasse votrebase Si vous n'avez pas défini de mot de passe (déconseillé) : mysql -u root Si vous avez défini un mot de passe : mysql -u root -p et tapez votre mot de passe. Vous arriverez alors sur un prompt du type : mysql> doc.ubuntu-fr.org/mysql 2/11

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. mysql> select * from -> 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 «;». Soit directement lorsque vous lancez le client MySQL en ligne de commande : mysql -u root -D votre_base Soit une fois connecté à MySQL en tapant : mysql> use votre_base Pour changer le mot de passe de l'utilisateur root (qui n'est pas le même que l'utilisateur root du système), tapez la commande suivante dans 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 "" 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 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 : doc.ubuntu-fr.org/mysql 3/11

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 USER SET password = password('<votre_mot_de_passe>') WHERE USER = 'root' AND host='localhost'; (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 Pour activer la connexion à MySQL via le port 3306, activez l accès distant en commentant la ligne suivante dans le fichier /etc/mysql/my.cnf (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 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é. doc.ubuntu-fr.org/mysql 4/11

Pour pouvoir accéder à MySQL depuis un autre ordinateur, ajoutez la ligne suivante au fichier /etc/mysql/my.cnf dans la section «[mysqld]» : bind-address = x.x.x.x 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 tous les ports, il suffit de commenter la ligne "bind-address = 127.0.0.1" Redémarrez le service après avoir modifier le fichier de configuration : sudo /etc/init.d/mysql restart (Vous pouvez mettre 0.0.0.0 si MySQL doit écouter les connexions venant de toutes les interfaces réseaux, et donc être totalement accessible. Cela peut être dangereux si votre serveur est connecté à Internet directement.) Pour créer un utilisateur mysql qui est autorisé à se connecter à distance : se connecter sur mysql en root : mysql -u root -p une fois connecté : grant all privileges on *.* to 'remote_user'@'123.123.123.123' identified by 'user_password'; 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, remplacer *.* 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 : flush privileges; Il suffit d'ajouter les deux lignes suivantes à la fin de la section «[mysqld]» du fichier /etc/mysql/my.cnf : character-set-server=utf8 skip-character-set-client-handshake doc.ubuntu-fr.org/mysql 5/11

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 : SHOW VARIABLES LIKE 'char%'; Résultat : 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 Toutes ces commandes sont à entrer dans le prompt de MySQL une fois connecté au serveur. (Voir comment lancer la console MySQL ci dessus.) Utiliser une base de données existante USE nom_de_la_base; Créer une base de données CREATE DATABASE nom_de_la_base; Liste des bases de données SHOW DATABASES ; Supprimer une base de données doc.ubuntu-fr.org/mysql 6/11

DROP DATABASE nom_de_la_base; Importer une base de données située dans le répertoire courant (base de donnée exportée en.sql) SOURCE fichier.sql; Liste des tables de la base de données active SHOW TABLES; Structure d'une table DESCRIBE nom_table; Renommer une table ALTER TABLE nom_table RENAME AS nouveau_nom; Pour la syntaxe des requêtes SQL, reportez-vous à la documentation MySQL. Créer un utilisateur CREATE USER "nom_utilisateur"@"localhost"; 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; 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 doc.ubuntu-fr.org/mysql 7/11

REVOKE ALL privileges ON nom_base.* FROM "nom_utilisateur"@"localhost"; Autres opérations QT avec Mysql: Après avoir chercher pendant une quinzaine de jours, je mets ici l'opération à faire pour installer les drivers pour mysql afin de l'utiliser sous QT: sudo apt-get install libqt4-sql-mysql 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. 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 sauvegarde automatique de bases de données via cron. 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 site de documentation de MySQL. Ne fonctionne que pour les tables au format MyISAM. 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 : doc.ubuntu-fr.org/mysql 8/11

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. 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 : Supprimer les tables InnoDB pour récupérer l'espace "Bogue" associé Exporter toutes les bases de données, arrêter mysql, supprimer le fichier, démarrer sql et importer toutes les bases. Préambule La plupart des utilisateurs créent de 2 à 3 partitions sur leur(s) installation(s) : / - une partition système swap - une partition de de swap /home - une partition réservée aux utilisateurs L'intérêt de ce partitionnement est qu'en cas de réinstallation, les données utilisateurs (données, profils, compte courrier, favoris Internet, thème de bureau, etc.) sont sauvegardées et aussitôt exploitables. Ça n'est malheureusement pas le cas pour les bases de données MySql, et un utilisateur non averti, écrasera sans le savoir ses bases de données qui sont stockées sur /var/lib/mysql (donc dans la partition '/' système). Il peut donc être intéressant pour cela de déplacer ses bases de données dans la partition /home. Mise en place Arrêter MySQL : sudo service mysql stop Déplacer le répertoire des bases de données : doc.ubuntu-fr.org/mysql 9/11

sudo mv /var/lib/mysql /home/mysql Le déplacement par 'mv' permet de ne pas modifier les droits originaux. Créer un lien symbolique afin de ne pas "casser" les fichiers de configuration originel de MySQL : sudo ln -s /home/mysql /var/lib/mysql S'assurer que l'utilisateur 'mysql' est bien le propriétaire de ce lien symbolique : sudo chown -h mysql:mysql /home/mysql Pour les versions d'ubuntu utilisant Apparmor (notamment Ubuntu 10.04 LTS), il vous faut modifier le fichier de configuration MySQL dans Apparmor. Ouvrir le fichier /etc/apparmor.d/usr.sbin.mysqld et trouver les deux lignes suivantes : /var/lib/mysql/ r, /var/lib/mysql/** rwk, et de les modifier en : /home/mysql/ r, /home/mysql/** rwk, On relance la configuration d'apparmor : sudo service apparmor reload On relance MySql : sudo service mysql start Et voilà. 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 Outils MySQL. Liens Le site officiel de MySQL [en] Le site officiel francophone [fr] Memento MySQL [en] Aller plus loin avec MySQL [fr] En savoir plus sur les commandes Mysql [fr] 3 petits cours sur MySQL à télécharger (PDF) Installation à la main [fr] La page dédiée aux outils MySQL doc.ubuntu-fr.org/mysql 10/11

GreenSQL : Pare-feu applicatif SQL Protéger son serveur MySQL avec GreenSQL [fr] La section dédiée à MySQL sur Developpez.com [fr] La page des SGBD. MariaDB Le serveur alternatif 100% compatible MySQL Plusieurs tutoriels dédiés à MySQL sur IT-Connect La liste des pages taguées avec MySQL Contributeurs : _Enchained, Hugo, Oscar Nsarhaza, Ner0lph, david96, Gounlaf, McPeter. mysql.txt Dernière modification: Le 24/09/2013, 09:06 par zebulont Le contenu de ce wiki est sous licence : CC BY-SA v3.0 Contact Propulsé par Dokuwiki doc.ubuntu-fr.org/mysql 11/11