Administration du SGBD Mysql

Slides:



Advertisements
Présentations similaires
Faculté des sciences et techniques de Configuration d’APACHE
Advertisements

Formation - Fedora et VMware
Active Directory Windows 2003 Server
CLIENT/SERVEUR SQL SERVER 7
Administration des bases de données
Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 6 : Protection des données Bertrand Audras Microsoft Technology Center.
MySQL I / Présentation. II / Administration et Outils.
Module 3 : Gestion et analyse du service DHCP
PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
Atelier System Copy.
Plan de formation Chapitre 1 : Présentation de SAP
Module 13 : Implémentation de la protection contre les sinistres
SSH.
Licence GNU FDL - Version 1.5
Active Directory Windows 2003 Server
sauvegarde de base de données
Vue d'ensemble Étude du processus d'amorçage de Windows XP Professionnel Contrôle des paramètres système au cours du processus d'amorçage Modification.
Analyse et Conception de Systèmes Informatiques (ACSI)
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
© Glaus & Ruckstuhl TECFA Le Processeur Apache / FOP.
Fiche dinstallation dun serveur Web Apache sous Win32 Apache (serveur) Php (module Php) MySql (base de donnée) PhpMyAdmin (gestion de MySQL)
MySQL Création des sites dynamiques
Les transactions.
Les IDS Philippe Sèvre le 10/01/2009.
Utilisation avancée de linux
Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation.
Programmation Internet en PHP SIL module M12
SQL partie 4. SQL est un langage de protections d'accès Il est possible avec SQL de définir des permissions au niveau des utilisateurs d'une base de données.
Master 1 ère année Sécurité des Systèmes Informatique 1 Compilation à partir du code source  Pouvoir installer un logiciel avant qu’il ne soit packager.
Active Directory Windows 2003 Server
UTILISATION DE LINUX. LINUX 2 UTILISATION DE LINUX Différences Windows-Linux Le prix La licence Le choix des distributions Les applications Les utilisateurs.
Gérer la sécurité des mots de passe et les ressources
PLAN ● L'instance ● Optimisations – Gestion de l'espace – La gestion des quotas – Les requêtes gourmandes – Les goulots d'étranglement ● Administration.
Bases de données Open Source Pierre Crépieux 13/03/2008.
Gérer les privilèges.
Vue d'ensemble Préparation de l'installation
Projet Python. ETAPE 1 Installation des packages python. Raccourcie crée automatiquement.
Yonel Grusson 1 SQL SERVER 2000 CLIENT/SERVEUR. Yonel Grusson 2 PLAN Présentation Installation Résultat de l'installation L'administration –Par le SQL.
Copyright  Oracle Corporation, All rights reserved. 19 Gestion des Privilèges.
Gérer une instance Oracle
 Requêtes MySQL en PHP Introduction
Utilisation avancée de linux Réseau Démarrage et arrêt.
05/02/98WEB ESNIG Modèle logique de données Oracle Designer/2000 & Oracle Web Server.
Gérer l'instance Oracle
Module 4 : Gestion de la sécurité. Vue d'ensemble Implémentation d'un mode d'authentification Attribution de comptes de connexion à des utilisateurs et.
Logs, backup, maintenance
Copyright  Oracle Corporation, All rights reserved. 20 Gestion des Rôles ( ou regroupement des privilèges)
Gérer les rôles.
Magellium - 24 rue Hermès – BP12113, Ramonville Saint-Agne 
Serveur de mail sous GNU/Linux Installation et configuration d’un module SMTP : Postfix Installation d’un module POP/IMAP : courier-pop Configuration d’un.
Gérer les utilisateurs
PLAN ● L'instance – Création – Démarrer, Arréter et surveiller – Connexion / Utilisateurs ● Optimisations et interconnexions ● Administration et sauvegardes.
Créer une base de données
Module 1 : Vue d'ensemble de Microsoft SQL Server
Initiation à Oracle Server
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Module 7 : Restauration de bases de données
Installation Chapitre 2.
MySQL 5 Chapitre 2 M. Person. MySql 5 - Chapitre II 2 Mysql5 - Sécurité et maintenance Création des utilisateurs Backup et restauration.
Module 2 : Planification de l'installation de SQL Server
Les bases de données Séance 8 Jointures.
Master 1 ère année Sécurité des Systèmes Informatique 1 Accès aux systèmes de fichiers  Montage: mount bin etc lib home wallace gromit tmp var spool cron.
1 CEC A.-CHAVANNE Sites Web et bases de données. 2 UNE BASE DE DONNÉES : POURQUOI ? Manipulation de grandes quantités d’information – représentation des.
Prévention de désastre et récupération Shadow copies (clichés instantanés) Backup/Restore Advanced Boot Options System Repair.
FACTORY systemes Module 2 Section 1 Page 2-3 Installation d’Industrial SQL FORMATION InSQL 7.0.
WordPress et Etherpad avec BlueMix et Docker. But: réussir à faire fonctionner ces deux services très connus et utilisés dans bluemix, en se servant de.
Chapitre 10 Maintenance d'Active Directory
Transcription de la présentation:

Administration du SGBD Mysql  Installation par système de paquets  sudo aptitude install mysql-server-5.1 Puis une confirmation de ce mot de passe : 

Administration du SGBD Mysql  Installation avec les binaires  wget fichier.tar.gz tar zxf fichier.tar.gz Création de l’utilisateur et du groupe mysql :  groupadd mysql useradd -g mysql mysql Positionnement des droits :  chown -R mysql . chgrp -R mysql . Exécution du script mysql_install_db :  ./scripts/mysql_install_db --user=mysql

Administration du SGBD Mysql  Démarrage du serveur  Toutes les méthodes décrites pour lancer le serveur MySQL nécessitent d’être connecté en tant que root.  Script mysql.server  $ sudo /etc/init.d/mysql start  Script mysqld_safe  Le script mysql.server fait appel à mysqld_safe. mysqld_safe lance mysqld et crée automatiquement un journal d’erreur. Il s’agit de la méthode qui est recommandée  dans  la  documentation  officielle  pour  lancer  le  serveur Voir manuel pour les options de démarrage

Administration du SGBD Mysql  Invocation directe de mysqld  /chemin/vers/mysqld --defaults-file=/chemin/vers/my.cnf --user=mysql &  Arrêt du serveur  $ sudo /etc/init.d/mysql stop  mysqladmin  $ mysqladmin -uroot -p shutdown

Administration du SGBD Mysql  Sécurisation de l’installation  Quel que soit le mode d’installation, le script mysql_secure_installation, livré avec toutes les distributions, peut vous aider en réalisant quelques vérifications basiques.  Ce script :  vérifie que l’utilisateur root a un mot de passe ;  propose de supprimer les utilisateurs anonymes ;  supprime le compte root distant ;  supprime la base test ;  propose de recharger les privilèges.  Ce script reste simple et limité mais permet de pointer les erreurs les plus  grossières au niveau de la sécurité. 

Administration du SGBD Mysql Installation de plusieurs instances  À chaque nouvelle installation sur une machine hébergeant déjà une ou plusieurs instances, il vous faut absolument configurer un certain nombre  de paramètres de manière à isoler complètement votre nouvelle instance.  Ces paramètres sont les suivants :  Port et socket pour les connexions des clients.  Répertoire de données.  Répertoire de journaux.  Tablespace pour InnoDB (le tablespace se trouve par défaut dans  le répertoire de données, le choix d’un répertoire de données est donc   normalement suffisant).  server-id  (ce  paramètre  peut  échapper  car  il  ne  devient  crucial  qu’avec  la  réplication). 

Administration du SGBD Mysql Installation sous Windows My.ini --- fichier de configuration Reglage dans my.ini [client] port = 3307 [mysqld] basedir = C:/mysql5141 server-id = 11

Administration du SGBD Mysql Installation sous Windows Démarrage du serveur Installer Mysql en tant que service : C:\>chemin/vers/mysqld --install MySQL51 –defaults -file=chemin/vers/my.ini net start XXX Pour supprimer un service : C:\>chemin/vers/mysqld --remove MySQL51 Lancer le serveur C:\>chemin/vers/mysqld --defaults-file=chemin/vers/my.ini

Administration du SGBD Mysql Installation sous Windows Arrêt du serveur net stop XXX C:\>mysqladmin -uroot -p shutdown

Administration du SGBD Mysql Mise à jour de Mysql Arrêtez le serveur et remplacer les anciens binaires par les nouveaux Lancer ensuite mysql_upgrade

Administration du SGBD Mysql Architecture Mysql Mysqld

Administration du SGBD Mysql Architecture Mysql Mysql

Administration du SGBD Mysql Architecture Mysql

Administration du SGBD Mysql Architecture Mysql L’utilisation des disques: Les schémas Fichiers .frm Les journaux, les journaux binaires et journaux d’erreurs du serveur Les journaux du moteur du stockage (innodb), la réplication, les fichiers de configurations Les déclencheurs et les triggers Stockage par défaut dans datadir

Administration du SGBD Mysql Architecture Mysql Stockage par défaut dans datadir Répartir la charge entre plusieurs disques : Exemple d’architecture multidisques: Disque pour le système Disque pour les binaires Disque pour les fichiers temporaires tempdir Disque pour les journaux

Administration du SGBD Mysql Architecture Mysql

Administration du SGBD Mysql Architecture Mysql Le moteur de stockage Utiliser plusieurs moteurs de stockage

Administration du SGBD Mysql Architecture Mysql La journalisation 4 types de journaux : le journal binaire (binary log) le journal des requêtes lentes (slow query log) le journal général (general query log) le journal des erreurs (error log) le journal binaire (binary log) : Insert, update, delete etc… C’est le journal central de Mysql, sert aussi pour la réplication voir section 7 de l’architecture)

Administration du SGBD Mysql Configuration du serveur Lors de la compilation Fichier my.cnf / my.ini En tant que paramètre de mysqld au lancement Dynamiquement pendant l’exécution du serveur commande SET Voir section 2 du chapitre configuration du serveur

Administration du SGBD Mysql La sécurité Sécuriser l’installation Contrôler les droits shell> groupadd mysql shell> useradd -g mysql mysql shell> cd /usr/local/mysql/ shell> chown R root . shell> chown -R mysql data shell> chgrp R mysql . Mysqld ne doit pas tourner sous root

Administration du SGBD Mysql La sécurité Donner un mot de passe à root shell> mysql -u root # connexion au serveur avec l’utilisateur root sans mot de passe mysql> SET PASSWORD FOR root@localhost = password(’m0T2p4ss3’); /* la commande set password permet de mettre un mot de passe à un compte utilisateur */ Renommer le compte administrateur RENAME USER ’root’@’localhost’ TO ’leader’@’localhost’; Supprimer les comptes anonymes Supprimer le schémas test

Base système Mysql : User Db tables_priv columns_priv procs-priv Administration du SGBD Mysql La sécurité Gestion des utilisateurs Base système Mysql : User Db tables_priv columns_priv procs-priv Commandes de gestion des droits : CREATE USER GRANT REVOKE Drop user Show grants

Administration du SGBD Mysql La sécurité mysql> SHOW PRIVILEGES;

Administration du SGBD Mysql La sécurité mysql> GRANT all ON test.* TO momo IDENTIFIED BY “titi ”;   mysql> GRANT select,insert ON mysql.* TO momo@localhost identified by "titi" [with GRANT OPTION]; Privilèges globaux, ne s'appliquent pas à UNE base particulière :   Reload : permission de relancer le serveur mysql et d'ecrire les tables sur disques. Shutdown : droit d'arrêter le serveur “mysqld » Process : droit de contrôler les processus utilisateurs. File : droit d'écrire ou lire dans des fichiers ascii avec les commandes « load data » et « into outfile »

mysql> SHOW GRANTS FOR root; Administration du SGBD Mysql La sécurité Visualiser les droits mysql> SHOW GRANTS FOR root;   mysql> SHOW GRANTS FOR 'root'@'localhost' ; Oter des permissions: REVOKE mysql> REVOKE ALL on *.* FROM momo ; mysql> REVOKE ALTER,DELETE,DROP on mysql.* FROM momo mysql> REVOKE GRANT OPTION on mysql.* FROM momo@localhost mysql> REVOKE SELECT on mysql.* FROM 'momo'@'pcml.dom.fr'

Administration du SGBD Mysql La sécurité à partir de la version 4.1.1 (nécessité d'enlever tous les privilèges avant de détruire l'utilisateur) mysql> SHOW GRANTS FOR toto@localhost mysql> REVOKE ALL PRIVILEGES FROM toto@localhost   mysql> DROP USER toto; mysql> FLUSH PRIVILEGES;

Administration du SGBD Mysql Création d'une base avec mysqladmin $ mysqladmin -u root -p create NOMDEBASE Destruction d'une base avec mysqladmin $ mysqladmin -p drop NOMDEBASE

Administration du SGBD Mysql Se créer une base vierge   /opt/mysql/bin/mysqladmin -u root -p create ma_base Créer les tables en batch avec le script /opt/mysql/bin/mysql -u root -p < Mon_script_de_base

Administration du SGBD Mysql Créer plusieurs utilisateurs et affecter des droits différents à ces utilisateurs par GRANT et REVOKE    Un utilisateur qui aura tous les droits sur la Base  Un utilisateur qui n'aura que le droit de sélectionner  Un utilisateur qui aura le droit d'écrire dans les tables et les modifier et récupérer les sélections dans un fichier GRANT all ON test.* TO momo@localhost IDENTIFIED BY “titi ”;

BACKUP TABLE RESTORE TABLE REPAIR TABLE CHECK TABLE ANALYZE TABLE Administration du SGBD Mysql Instructions de maintenance des Tables BACKUP TABLE RESTORE TABLE REPAIR TABLE CHECK TABLE   ANALYZE TABLE OPTIMIZE TABLE

Administration du SGBD Mysql Une table au format MyISAM (séquentiel indexé) se décompose en 3 fichiers :

Administration du SGBD Mysql Sauvegarde Les bases sont des répertoires, et les tables des fichiers... les opérations de sauvegarde et de backup sont donc simples! Avec un serveur en activité, pour assurer des copies sécurisées: mysql>LOCK TABLES; mysql>FLUSH TABLES   ( assure que tous les index et données sont bien écrits avant de commencer la copie.)   Hors du contrôle du serveur, et serveur arrêté, on peut faire régulièrement (cron) une simple copie des bases: $ rsync -av /var/lib/mysql/unebase /opt/SAUVEBASE/

Administration du SGBD Mysql Sauvegarde Exemple 1 L'utilitaire mysqldump permet de faire des sauvegardes complètes en ascii   Backup : $ mysqldump --opt database [table] > backup-file.sql  $ /opt/mysql/bin/mysqldump -u root -ptoto ma_base Restauration: $ mysql database < backup-file.sql

Administration du SGBD Mysql Sauvegarde Exemple 2 Sauvegarde d'une base complète avec toutes les tables dans datadir (/var/lib/mysql/) : $ /usr/bin/mysqlhotcopy --debug -u root –password='titi' ma_base ficheir_de_sauvegarde    Sauvegarde de la table CLIENTS de la base ma_base dans un répertoire extérieur à / var/lib/mysql :  $ /usr/bin/mysqlhotcopy --debug --addtodest -u root -- password='aaa' ma_base./CLIENTS/ "/home/momo"

Pour vérifier et réparer des tables MyISAM Administration du SGBD Mysql Vérifier les tables… réparer Pour vérifier et réparer des tables MyISAM   CHECK TABLE REPAIR TABLE Pour optimiser des tables MyISAM : OPTIMIZE TABLE ANALYZE TABLE    L'utilitaire « myisamchk » hors du contrôle du serveur

Faire une sauvegarde avec mysqldump Administration du SGBD Mysql Résumé analyse des tables   Faire une sauvegarde avec mysqldump Faire une sauvegarde avec mysqlhotcopy Faire une sauvegarde avec backup  Utiliser les commandes Check Repair Analyse Optimize mysqlchk

Administration du SGBD Mysql La sécurité Perte de mot de passe Arrêter le serveur Redémarrer :* hell> mysqld --skip-grant-tables --skip-networking --console -- socket=/tmp/maintenance.sock & Voir procédure complète dans section 3 gestion de la sécurité Création des utilisateurs CREATE USER ’utilisateur’@’hôte’ IDENTIFIED BY ’mot_de_passe’ Donner des droits GRANT type_de_droits ON portée_des_droits T O compte_utilisateur. Section 3 sécurité

Administration du SGBD Mysql La sécurité Utiliser : SSL Section 7 Renforcer la sécurité Section 8 Utiliser le chiffrement des données Section 9

Administration du SGBD Mysql

Administration du SGBD Mysql Exemples de scripts pour windows (.bat): @ECHO OFF for /f "tokens=1-4 delims=/ " %%a in ('date/t') do ( set dw=%%a set mm=%%b set dd=%%c set yy=%%d ) SET bkupdir=C:\path\to\where\you\want\backups SET mysqldir=D:\path\to\mysql SET dbname=this_is_the_name_of_my_database SET dbuser=this_is_my_user_name @ECHO Beginning backup of %dbname%... %mysqldir%\bin\mysqldump -B %dbname% -u %dbuser% | gzip > %bkupdir%\dbBkup_%dbname%_%yy%%mm%%dd%.sql.gz @ECHO Done! New File: dbBkup_%dbname%_%yy%%mm%%dd%.sql

Administration du SGBD Mysql Exemples de planification avec crontab dans linux Remote Host backup with linked PATH to mysqldump: 0 1 * * * mysqldump -h mysql.host.com -uusername -ppassword --opt database > /path/to/directory/filename.sql Remote Host backup: 0 1 * * * /usr/local/mysql/bin/mysqldump -h mysql.host.com -uusername -ppassword --opt database > /path/to/directory/filename.sql Local Host mysql backup: 0 1 * * * /usr/local/mysql/bin/mysqldump -uroot -ppassword --opt database > /path/to/directory/filename.sql

Exemple de sauvegarde dans un fichier .xml Administration du SGBD Mysql Exemple de sauvegarde dans un fichier .xml shell> mysqldump --xml -u root pubs > c:\pubs.xml

Administration du SGBD Mysql >Mysql –u root –p –html ‘’—execute=select * from auteurs; ’’ \ –default-character-set=latin1 pubs >auteurs.html Résultat

Administration du SGBD Mysql