SelectEtoile : Base de connaissance SGBD

Posts Tagged 'mysql'

Comment réinitialiser mot de passe root ?

Voici une méthode pour récupérer (ou plutôt re-créer) le mot de passe de l'utilisateur root de Mysql .. en cas de perte ..

  1. arrêter le Serveur Mysql

/etc/init.d/mysql stop

  1. On relance en inhibant de l'authentification

/usr/sbin/mysqld --skip-grant-tables &

  1. Mettre le mot de passe en rentrant comme root dans phpmyadmin

  2. ou en ligne de commande

mysql

mysql> use mysql

mysql> update user set password=PASSWORD("nouveau_mot_de_passe") where user='root';

mysql> quit

  1. Relancer mysql

/etc/init.d/mysql restart
si problème, lancer d'abord
killall mysqld

 

 

Présentation du site

 
Ce site a été développé afin de fournir des explications, documentations et astuces en tout genre concernant les bases de données.Ils proviennent de retour d'expériences de différents DBA.
Il est à noter que ces articles ne sont que des notes et en aucune façon des documentations officielles.
Ce site peut contenir des commandes non supportées par les différents éditeurs qui sont à utiliser avec précaution.
Bien sur, si vous constatez des erreurs ou avez des remarques sur un ou plusieurs articles, n'hésitez pas à nous en faire part, soit via l'onglet Contacts, soit via les commentaires à votre disposition à la fin de chaque article.
 
Pour ceux qui seraient intéressés pour écrire ou proposer des articles, n'hésitez pas à me contacter via 'Contacts' dans le menu du haut.
flux_rssInscrivez vous au fil d'actualité selectetoile.net flux_rss

Catalog MySql

 

Accès au catalogue mysql

 

  • SCHEMATA : informations sur les bases (ou schémas).

  • TABLES : les tables.

  • COLUMNS : leurs colonnes.

  • STATISTICS : les indexes.

  • USER_PRIVILEGES : privilèges globaux.

  • SCHEMA_PRIVILEGES : privilèges sur les bases.

  • TABLE_PRIVILEGES : privilèges sur les tables.

  • COLUMN_PRIVILEGES : privilèges sur les colonnes.

  • CHARACTER_SETS : jeux de caractères.

  • COLLATIONS : interclassements.

  • COLLATION_CHARACTER_SET_APPLICABILITY : correspondances interclassements / charsets.

  • TABLE_CONSTRAINTS : contraintes des tables.

  • KEY_COLUMN_USAGE : clés primaires et étrangères.

  • ROUTINES : les procédures et fonctions stockées.

  • VIEWS : les vues.

  • TRIGGERS : les déclencheurs.

 

Exemples de requete sur le CATALOG :

SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'nom_base';

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'nom_base';

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'nom_base' AND TABLE_NAME = 'nom_table' ORDER BY ORDINAL_POSITION;

 

Visualisation de la clé primaire :

  • SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'nom_base' AND TABLE_NAME = 'nom_table' AND COLUMN_KEY = 'PRI' ORDER BY ORDINAL_POSITION;

 

Visualisation des colonnes indexes :

SELECT COLUMN_NAME, COLUMN_KEY

FROM INFORMATION_SCHEMA.COLUMNS

WHERE TABLE_SCHEMA = 'nom_base'

AND TABLE_NAME = 'nom_table'

AND COLUMN_KEY IS NOT NULL

ORDER BY ORDINAL_POSITION;

 

 

Visualisation des infos sur les indexes :

SELECT *

FROM INFORMATION_SCHEMA.STATISTICS

WHERE TABLE_SCHEMA = 'nom_base'

AND TABLE_NAME = 'nom_table';

 

 

Infos sur les contraintes d’intégrité :

SELECT *

FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS

WHERE TABLE_SCHEMA = 'nom_base'

AND TABLE_NAME = 'nom_table'

AND CONSTRAINT_TYPE = 'FOREIGN KEY';

 

SELECT k.CONSTRAINT_SCHEMA, k.CONSTRAINT_NAME, k.TABLE_NAME, k.COLUMN_NAME

, k.REFERENCED_TABLE_SCHEMA, k.REFERENCED_TABLE_NAME, k.REFERENCED_TABLE_NAME

FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS k

INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS c

ON k.CONSTRAINT_SCHEMA = c.CONSTRAINT_SCHEMA AND k.CONSTRAINT_NAME = c.CONSTRAINT_NAME

WHERE c.CONSTRAINT_TYPE = 'FOREIGN KEY';

 

Liste des clés étrangères non indexes :

SELECT k.CONSTRAINT_SCHEMA, k.CONSTRAINT_NAME, k.TABLE_NAME, k.COLUMN_NAME

, k.REFERENCED_TABLE_SCHEMA, k.REFERENCED_TABLE_NAME, k.REFERENCED_COLUMN_NAME

FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS k

INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS c

ON k.CONSTRAINT_SCHEMA = c.CONSTRAINT_SCHEMA

AND k.CONSTRAINT_NAME = c.CONSTRAINT_NAME

LEFT JOIN INFORMATION_SCHEMA.STATISTICS AS s

ON k.CONSTRAINT_SCHEMA = s.TABLE_SCHEMA

AND k.TABLE_NAME = s.TABLE_NAME

AND k.COLUMN_NAME = s.COLUMN_NAME

WHERE c.CONSTRAINT_TYPE = 'FOREIGN KEY'

AND s.INDEX_NAME is null;

 

Table contenant les infos sur les ps et fonctions :

  • SELECT * FROM INFORMATION_SCHEMA.ROUTINES

 

Idem pour les triggers :

  • SELECT * FROM INFORMATION_SCHEMA.TRIGGERS

 

 

Tables contenant les infos sur les privileges :

  • USER_PRIVILEGES
  • SCHEMA_PRIVILEGES
  • TABLE_PRIVILEGES
  • COLUMN_PRIVILEGES

 

 

 

 

 

 

 

 

tee / notee sur mysql

Les commandes tee et notee permettent de rediriger la sortie vers un fichier
 
mysql> use mysql
Database changed
mysql> tee c:\trash\qwe.txt
Logging to file 'c:\trash\qwe.txt'
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv    |
| db              |
| host            |
| tables_priv     |
| user            |
+-----------------+
5 rows in set (0.02 sec)
 
mysql> notee
Outfile disabled.
mysql>

 

Articles tagged

Administration et optimisation générales Mysql

Administration  / Optimisation MySQL

 

Liens des docs de référence (en français)

 

Orientation de l'optimiseur

● Possibilité de le contraindre

– USE INDEX
– FORCE INDEX
– IGNORE INDEX

● STRAIGHT_JOIN

 

Le cache de requête

● Mise en cache des requêtes SELECT et de leur résultat
● Les requêtes doivent être strictement identiques (case,espace,...)
● Le cache est toujours à jour, car lorsqu'une table est modifiée, les requêtes qui lui font références sont invalidées
● Certaines fonctions empêchent la mise en cache(NOW(), RAND()...)

 

Initialisation du cache de requêtes : SHOW VARIABLES LIKE 'query_cache%';

Visualisation des compteurs de ce cache : SHOW STATUS LIKE 'qcache%';

 

● FLUSH QUERY CACHE : Défragmente le cache de requête
● RESET QUERY CACHE : Réinitialise le cache de requêtes
● FLUSH TABLES : Réinitialise le cache de requêtes

 

Les commandes flush :

● flush privileges : Recharge les privilèges des tables de droits dans la base mysql
● flush tables : Ferme toutes les tables ouvertes, et force les tables utilisées à se refermer. Cela vide aussi le cache de requêtes.
● flush table tablename : Vide du cache uniquement les tables nommées.
● flush logs : Ferme et réouvre tous les fichiers de log

● flush query cache : Dé-fragmente le cache des requêtes pour mieux en utiliser la mémoire. Cette commande n'effacera aucune requête du cache, à la différence de RESET QUERY CACHE.

 

Description de quelques paramétrages MySQL :

● Key_buffer_size

- Tampon qui stock les index des tables MyISAM
- 25 à 30% de la RAM, pour un serveur dédié MySQL, en full MyISAM
- Pas trop grand car risque de swap !
- Ratio: key_reads / key_read_requests < 0.03 (0.01 encore mieux), sinon l'augmenter
- La fraction utilisée du buffer est : (Key_blocks_used * key_cache_block_size) / key_buffer_size

 

● myisam_sort_buffer_size

– Tampon pour la création d'index pour les requêtes de maintenance: ALTER TABLE, REPAIR TABLE, LOAD DATA INFILE
– SET SESSION myisam_sort_buffer_size = 800*1024*1024;
ALTER TABLE ma_table ADD INDEX ...;
 

● bulk_insert_buffer_size

– Tampon pour les insertions massives
• INSERT ...SELECT
• INSERT VALUES(),(),(),....
• LOAD DATA INFILE

 

● innodb_buffer_pool_size

– Tampon pour stocker les index et des données des tables InnoDB
– Jusqu'à 80% de la RAM, pour un serveur dédié MySQL, en full InnoDB
 

● innodb_flush_logs_at_trx_commit (1 par défaut)

– 0: Risque de pertes de transactions validées en cas de crash d 'InnoDB
– 1: transactions flushées après chaque commit. Pas de pertes de transactions validées (ACID)
– 2: Risque de pertes de transactions validées uniquement en cas de crash de l'O.S.

 

● innodb_log_buffer_size

– Taille du tampon des logs d'InnoDB
– Vidé environ toutes les secondes (checkpoint)
– En général entre 8Mo & 16Mo
 

● innodb_log_file_size

– Taille des fichiers de log d'InnoDB (2 par défaut)
– Une grande valeur améliore les performances. Mais augmente le temps de restauration
– Valeurs courantes : 64Mo à 512Mo

 

● table_cache

– Cache des descripteurs de fichier
– Chaque table ouverte nécessite un descripteur de fichiers (par connection), plus un pour le .MYI (MyISAM)
– Augmenter votre table_cache si opened_tables croit rapidement
 

● thread_cache

– Cache des threads
– Chaque session prend un thread à la connexion et le rend à la déconnexion
– Augmenter si threads_created croit rapidement
– Taux de succès du cache de thread: threads_created/connections

 

● read_buffer_size

- Chaque thread qui fait une recherche séquentielle alloue un buffer de cette taille pour son scan. Si vous faites de nombreux scan séquentiels, vous pourriez avoir besoin d'augmenter cette valeur
- Tampon d'enregistrements pour les full table scans
 

 ● open_files_limit

- Il est courant dce l'augmenter assez largement (ex : 65000)

 

● table_open_cache

- Si l'indicateur Opened_tables augmente, il est nécessaire d'accroitre la variable 'table_open_cache'
- L'augmentation de cette variable augmente le nombre de descripteurs

 

● sort_buffer_size

  • Tampon pour GROUP BY / ORDER BY
  • Indicateurs :
    • Sort_scan  : indique en général les tablescan
    • Sort_merge_passes : pas assez d'espace dans le sort buffer pour faire un tri. Il faut peut-être augmenter le sort_buffer_size.
 

● join_buffer_size

- Zone de jointure des requêtes n'utilisant pas d'index. Elle peut être augmenté mais le mieux est de trouver les indexes pertinents pour cette requête.
- Ce buffer est alloué une fois pour chaque jointure entre deux tables.
 

● tmp_table_size

- Tampon pour les tables temporaires stockées en mémoire (memory). Au delà, elles sont copiées sur disque (MyISAM)

 

● query_cache_size

- La mémoire allouée pour stocker les résultats des vieilles requêtes
- Pour désactiver, il suffit de positionner à 0

 

● max_allowed_packet

- Le buffer de message est initialisé avec net_buffer_length octets, mais peut grandir jusqu'à max_allowed_packet octets lorsque nécessaire.
- Cette valeur est par défaut petit, pour intercepter les gros paquets, probablement erronés. Vous devez augmenter cette valeur si vous utilisez de grandes colonnes BLOB. Cette valeur doit être aussi grande que le plus grand BLOB que vous utiliserez.

 

● thread_cache_size

- nombre threads
- Dans beaucoup de cas, on met cette valeur à 0. 

 

 

 

 

Indicateurs de performance :

Ces indicateurs sont interrogeable via 'show status like "%expression%";'

● Indicateur de hautes charges

– max_used_connections
– threads_created
– opened_tables
 

● Indicateur de réponses lentes

– slow_queries
– Slow_launch_threads (Nombre de threads qui ont pris plus de slow_launch_time secondes pour être créés)

 

● Indicateurs de comportements

– Table_locks_immediate
– Table_locks_waited
 

● Les handler

– Handler_read_first=>lecture d'index
– Handler_read_key=>lecture d'index
– Handler_read_next=>lecture d'index
– Handler_read_prev=>lecture d'index
– Handler_read_rnd=>lecture des données
– Handler_read_rnd_next=>lecture des données

 

● Indicateurs de requêtes:

- Tables temporaires
• Created_tmp_disk_tables => augmenter tmp_table_size
• Created_tmp_tables => order by, group by
- Requêtes pas optimisées
• Select_full_join, Select_full_range_join: problèmes d'index dans la jointure
• Select_scan: full scan sur la première table de la jointure
- Requêtes coûteuse
• sort_merge_passes => augmenter le sort_buffer_size

 

Supervision 

● Supervision des requêtes lentes

- log-slow-queries[=file_name] : génère un fichier contenant les requêtes SQL qui vont mettre plus de long_query_time secondes à s'exécuter.

- Le temps d'acquisition d'un verrou n'est pas compté. 

 

 

Paramètres généraux :

lower_case_table_names = 1 : Rend insensitive le nom des tables

ex : même résultat pour ces 2 commande: 'select * from matable' et 'select * from MaTable'

transaction-isolation = {READ-UNCOMMITTED | READ-COMMITTED
| REPEATABLE-READ | SERIALIZABLE}
pour vérification : SELECT @@global.tx_isolation; ou SELECT @@tx_isolation;

 

Paramètres InnoDB :

innodb_data_home_dir = /MYSQL/dbdata/InnoDB_data
innodb_data_file_path = ibdata1:500M;ibdata2:5000M

Cette conf permet de fixer la taille de l'enveloppe InnoDB (ici , 5.5 Go)

Pour superviser, le taux de remplissage de cette enveloppe, il suffit de lancer la commande suivante :

select date_format(now(),'%m/%d/%Y %H:%i:%s') 'mysdate',

engine,

round((sum(data_length)+sum(index_length))/1024/1024) as used,

ceiling(substring( table_comment, instr( table_comment, ':' ) +2, instr( table_comment, ' kB' ) - instr( table_comment, ':' ) -2 )/1024)+round(data_free/(1024*1024)) as free

from information_schema.tables

where engine='InnoDB'

group by engine;

 

Gestion de la log tournante sur 3 fichiers de 512 Mo. En cas de changement de taille de la log, il suffit stopper l'instance MySQL, modifier dans le fichier cnf la taille des log, renommer les anciens fichiers de log au cas ou et de redémarrer. MySQL recrée automatiquement les nouveaux fichiers de log avec leur nouvelle taille. Il peut y avoir des problèmes de performance si ces fichiers de log sont trop petit. 

 innodb_log_file_size=512M
innodb_log_files_in_group=3
innodb_log_group_home_dir=/MYSQL/dbdata/InnoDB_log

 

InnoDB essaie d'écrire sur le disque au moins une fois par seconde, mais cette écriture n'est plus garantie. Pour garantir cette écriture, il faut passer ce paramètre à 1.

innodb_flush_log_at_trx_commit=0

 

 

 

 

 

 

 

Optimisation des caches


  • bdb_cache_size : cache de données
  • bulk_insert_buffer_size : favorise les insert massif sur les tables myisam
  • join_buffer_size : cache servant au jointure n’utilisant pas d’indexes
  • key_buffer_size : cache pour les indexes (25% de la mémoire totale)
  • Verification de perfs de ce cache avec show status(Variables "Key_read_requests", "Key_reads", "Key_write_requests", et "Key_writes". Le ratio "Key_reads/Key_read_request")
  • read_buffer_size : buffer utilisateur affecté pour chaque lecture de table
  • record_rnd_buffer_size : Quand des données sont lus après un tri, les données sont lus à travers ce tampon pour éviter des accès disques
  • query_cache_limit : Ne pas mettre en cache les résultats supérieur à cette valeur.
  • query_cache_size : Cache de requetes stockant les les ordres ainsi que les resultats
  • query_cache_type : Peut prendre les valeurs suivantes (numériques seulement):

Valeur

Alias

Commentaire

0

OFF

Ne pas mettre en cache ni récupérer des valeurs

1

ON

Mettre en cache tous les résultats sauf les requêtes ayant précisé "SELECT SQL_NO_CACHE"

2

DEMAND

Mettre en cache seulement les requêtes ayant précisé " SELECT SQL_CACHE"

 

  • sort_buffer : Chaque processus qui a besoin de faire un tri alloue un tampon de cette taille. (group by et order by)

 

 

Requêtes sur le cache de requête :

  • show variables like 'query_cache_%';
  • show status like 'Qcache_%';
  • FLUSH QUERY CACHE;                  -- dé-fragmenter le cache
  • RESET QUERY CACHE;                  -- vide le cache de requête


Sauvegarde / Restauration

Sauvegarde / restauration d'une table : 

Bcp out :

  • mysql> SELECT a,b,a+b INTO OUTFILE '/tmp/jp1.txt'
  • -> FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  • -> LINES TERMINATED BY '\n'
  • -> FROM jp1;

 

Bcp in :

  • mysql> LOAD DATA INFILE "/tmp/jp1.txt" INTO TABLE jp1
  • -> FIELDS TERMINATED BY ',' ENCLOSED BY '' ESCAPED BY '\\'
  • -> LINES TERMINATED BY '\n';
  • LOAD DATA INFILE 'ta_syb_aseconfig_total.out' INTO TABLE ta_syb_aseconfig
  • FIELDS TERMINATED BY ';' ENCLOSED BY '' ESCAPED BY '\\'
  • LINES TERMINATED BY '\n';

 

Sauvegarde d'une Base de données

mysqldump [options] db_name [tables]

Sauvegarde : mysqldump -u root -ppwd --opt mabase -h monServeur > backup-production.sql

Exemple : mysqldump --socket=mysql.sock --user=root --password=pwd testjp > /tmp/testjp.sql

La commande dump permet de générer le script de création des objets et de la base elle même. Ci-dessous, un exemple de résultat de la commande :

 

-- MySQL dump 10.9

--

-- Host: localhost Database: testjp

-- ------------------------------------------------------

-- Server version 4.1.11-max-log

 

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8 */;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;

/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;

/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;

/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

 

--

-- Table structure for table `jp1`

--

 

DROP TABLE IF EXISTS `jp1`;

CREATE TABLE `jp1` (

`a` int(11) default NULL,

`b` int(11) default NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

 

--

-- Dumping data for table `jp1`

--

 

 

/*!40000 ALTER TABLE `jp1` DISABLE KEYS */;

LOCK TABLES `jp1` WRITE;

INSERT INTO `jp1` VALUES (3,8),(1,1),(10,10),(6,7),(5,5),(8,9);

UNLOCK TABLES;

/*!40000 ALTER TABLE `jp1` ENABLE KEYS */;

 

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;

/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;

/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

 

Il faut prévoir un flush des logs binaire avant la sauvegarde full :

Soit lancer un 'flush logs' dans mysql

Soit ajouter l'option --flush-logs dans la commande mysqldump

 

Autre exemple de mysqldump :

mysqldump --opt ${DATABASE} --databases --routines --triggers --single-transaction --master-data=2 --hex-blob --flush-logs

--master-data=2 permet de mettre une ligne de commentaire dans le fichier généré donnant le binlog courant ainsi que la position
--single-transaction : permet de rendre transactionnel la sauvegarde et donc consistant
--hex-blob : Sauvegarde les colonnes binaires utilisant La notation hexadecimale
 
 

 

 

Restauration d'une base de données :

Restauration d'un dump full :

mysql -u root -ppwd -h monServeur -D mabase2 < backup-production.sql

Exemple : ‘mysql testjp < /tmp/testjp.dump’

 

Restauration des log binaire :

mysqlbinlog mysql-bin.000062 mysql-bin.000063 | mysql


Sauvegarde / restauration table (vont disparaître)

  • BACKUP TABLE table [, table] ... TO '/repertoire/de/sauvegarde/';
  • RESTORE TABLE table [, table] ... FROM '/repertoire/de/sauvegarde/';

 

 

Sauvegarde a l’aide de mysqlhotcopy (Prérequis : Perl et packages DBI)

  • mysqlhotcopy db_name [/répertoire/de/sauvegarde]
  • mysqlhotcopy -u root -ppwd mabase /mstoto/sgbd/sauvegarde/

 

 

 

 

 

Petit guide des commandes

 

Les fonctions MySql :

  • select version(), current_date;
  • SELECT nom, naissance, CURRENT_DATE, (YEAR(CURRENT_DATE)-YEAR(naissance)), (RIGHT(CURRENT_DATE,5)<RIGHT(naissance,5)) AS age FROM animal;

  • select user();

 

Les Commandes SHOW :

  • show databases;
  • show columns from monDataCache;
  • show create table monDataCache;
  • show create database monitor_db;
  • show databases;
  • SHOW ERRORS [LIMIT [offset,] row_count]
  • SHOW COUNT(*) ERRORS
  • show engines;
  • show engines\G;
  • show grant for monty;
  • show innodb status;
  • show logs;
  • show privileges;
  • show processlist (ou mysqladmin process-list) : permet de voir qui est connecté à la base
  • show status; (ou mysqladmin extended-status)
  • show tables;
  • show tables status;
  • show variables
  • show variables like 'max_error_count';
  • show warnings; (suite a une requete avec des warnings)
  • SHOW COUNT(*) WARNINGS;

 

Les options :
 

  • L'attribut AUTO_INCREMENT peut être utilisé pour générer un identifiant unique pour les nouvelles lignes
  • Set autocommit=1 : utilisé pour la recréation rapide de la table

Les scripts natifs :

  • mysqlcc (MySQL Control Center) est un client interactif graphique, pour exécuter des commandes SQL, et administrer le serveur
  • mysqladmin est un client d'administration
  • mysqlcheck effectue les opérations de maintenance sur les tables
  • mysqldump et mysqlhotcopy font les sauvegardes de bases
  • mysqlimport importe des fichiers de données
  • mysqlshow affiche des informations sur les bases et les tables
  • mysql_secure_installation : permet de securiser l'installation de mysql

ex  : mysqladmin extended-status  (-r diff; -i 1 intervalle)

Les variables :

  • SELECT @@warning_count;

 

Exemples de commandes :

mysql> show create database testjp;

+----------+-------------------------------------------------------------------+

| Database | Create Database |

+----------+-------------------------------------------------------------------+

| testjp | CREATE DATABASE `testjp` /*!40100 DEFAULT CHARACTER SET latin1 */ |

+----------+-------------------------------------------------------------------+

1 row in set (0.00 sec)

 

mysql> use testjp

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

mysql> show create table jp1;

+-------+--------------------------------------------------------------------------------------------------------------------+

| Table | Create Table |

+-------+--------------------------------------------------------------------------------------------------------------------+

| jp1 | CREATE TABLE `jp1` (

`a` int(11) default NULL,

`b` int(11) default NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1 |

+-------+--------------------------------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)

 

mysql> SHOW GRANTS FOR fsarasy;

+-----------------------------------------------------------------------------------------------------------------+

| Grants for fsarasy@% |

+-----------------------------------------------------------------------------------------------------------------+

| GRANT ALL PRIVILEGES ON *.* TO 'fsarasy'@'%' IDENTIFIED BY PASSWORD '*63D85DCA15EAFFC58C908FD2FAE50CCBC60C4EA2' |

+-----------------------------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)