MySQL




  1. Utilisation

Pour utiliser mysql, il faut utiliser l'outil "mysql" qui se trouve dans le répertoire /bin. Le nom d'utilisateur et le mot de passe doivent être créés par un administrateur système.
Par défaut, l'utilisateur "root" est créé et il n'a pas de mot de passe.

Commande pour lancer mysql (sous Unix) :
./mysql -h localhost -u root -p
MySQL vous demande d'entrer le mot de passe.
Si vous ne l'avez pas changé, appuyez juste sur "Entrée".

Si vous souhaitez lancer mysql avec un autre utilisateur, vous n'avez qu'à saisir :
./mysql -h localhost -u nom_utilisateur -pmot_de_passe
MySQL vous demande d'entrer le mot de passe.
L'option "-h localhost" n'est pas obligatoire, vous pouvez donc ne pas la mettre. Elle ne sert que si vous avez besoin de préciser un port par exemple ("-h localhost:1523" par exemple).

Pour plus d'informations sur les utilisateurs, cliquez sur ce lien.



  2. Requêtes et commandes utiles avec MySQL

Pour pouvoir exécuter une requête, il faut dans un premier temps taper le texte de la requête, puis, lancer la commande avec ";" et "entrée".
Fonctions Utiles Description
SHOW DATABASES; Affiche la liste des bases de données
SHOW TABLES; Affiche les tables de la base utilisée
SHOW COLUMNS FROM nom_table; Affiche les champs de la table nom_table
USE nom_base Utilise la base nom_base
explain ma_requête Explique la requête ma_requête en vérifiant l'utilisation des index et le parcours de la requête
analyze table ma_table Analyze la table ma_table



  3. Tables systèmes



  3. 1. Présentation

Par défaut, après l'installation de mysql, il existe 2 bases : MySQL et Test. La base MySQL contient les paramètres de configuration de MySQL. La base Test permet de faire des tests de tables ! Vous n'aviez pas deviné hein !

Pour avoir la liste des bases :
mysql> show databases;
+----------+ 
| database |
+----------+ 
| mysql    | 
| test     |
+----------+ 
2 rows in set (0.00 sec)



  3. 2. La base MySQL

Nous allons donc étudier le contenu de la base MySQL.
D'abord, on doit préciser la base à utiliser.
mysql> use mysql
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

Pour avoir la liste des tables :
mysql> show tables;
+-----------------+ 
| tables_in_mysql | 
+-----------------+ 
| columns_priv    | 
| db              |
| func            |
| host            |
| tables_priv     |
| user            |
+-----------------+
6 rows in set (0.00 sec)

Il existe donc 6 tables dans la base MySQL. Ces tables permettent de définir les droits d'accès et donc les utilisateurs de MySQL.

Nous allons donc voir la structure de ses tables, leur contenu, et ensuite comment les utiliser.



  3. 3. Table User

Voici les différents champs de la table :
mysql> describe user;
+-----------------+-----------------+------+-----+---------+-------+
| field           | type            | null | key | default | extra |
+-----------------+-----------------+------+-----+---------+-------+
| host            | char(60) binary |      | pri |         |       |
| user            | char(16) binary |      | pri |         |       |
| password        | char(16) binary |      |     |         |       |
| select_priv     | enum('n','y')   |      |     | n       |       |
| insert_priv     | enum('n','y')   |      |     | n       |       |
| update_priv     | enum('n','y')   |      |     | n       |       |
| delete_priv     | enum('n','y')   |      |     | n       |       |
| create_priv     | enum('n','y')   |      |     | n       |       |
| drop_priv       | enum('n','y')   |      |     | n       |       |
| reload_priv     | enum('n','y')   |      |     | n       |       |
| shutdown_priv   | enum('n','y')   |      |     | n       |       |
| process_priv    | enum('n','y')   |      |     | n       |       |
| file_priv       | enum('n','y')   |      |     | n       |       |
| grant_priv      | enum('n','y')   |      |     | n       |       |
| references_priv | enum('n','y')   |      |     | n       |       |
| index_priv      | enum('n','y')   |      |     | n       |       |
| alter_priv      | enum('n','y')   |      |     | n       |       |
+-----------------+-----------------+------+-----+---------+-------+
17 rows in set (0.00 sec)

Chaque ligne de cette table correspond au droit d'un utilisateur pour le host défini (ce qui représente la clé), en précisant pour chaque clé le mot de passe, ainsi que les droits. Ces droits correspondent à la fonction autorisée suivi du "_priv" qui définit le nom de la colonne. On peut donc autoriser l'utilisateur à faire
  • des Select (affichage du contenu d'une table),
  • des Insert (ajout d'un enregistrement dans une table),
  • des Update (modification d'un enregistrement existant),
  • des Delete (effacer des enregistrements de la table),
  • des Create (création de tables dans la base courante),
  • des Drop (suppression de tables),
  • des Reload (arrêt et rechargement de mysql),
  • des Shutdown (arrêt de mysql),
  • des Process (),
  • des File (),
  • des Grant (),
  • des References (),
  • des Index (),
  • des Alter (modifier la structure d'une table).
Par défauts, tout est interdit, on peut ajouter des droits un à un !
Nous verrons plus loin comment ajouter un utilisateur et lui donner des droits.



  3. 4. Table Host

La table Host contient les informations permettant de préciser les droits d'accès aux bases pour tel ou tel Host. Le Host est le nom donné au serveur. Par exemple, on peut ajouter un Host 'Adresse' qui ne contiennent que les informations sur des personnes, un Host 'Cocktail' avec toutes les informations sur les cocktails de la base, et le host 'localhost' qui est défini en standard et qui accèderait à tout.

Grâce à la table User, on peut alors croiser avec celle-ci de manière à ce qu'un utilisateur puisse accéder à un ensemble de base, mais à aucun autre.

mysql> describe host;
+-----------------+-----------------+------+-----+---------+-------+
| field           | type            | null | key | default | extra |
+-----------------+-----------------+------+-----+---------+-------+
| host            | char(60) binary |      | pri |         |       |
| db              | char(64) binary |      | pri |         |       |
| select_priv     | enum('n','y')   |      |     | n       |       |
| insert_priv     | enum('n','y')   |      |     | n       |       |
| update_priv     | enum('n','y')   |      |     | n       |       |
| delete_priv     | enum('n','y')   |      |     | n       |       |
| create_priv     | enum('n','y')   |      |     | n       |       |
| drop_priv       | enum('n','y')   |      |     | n       |       |
| grant_priv      | enum('n','y')   |      |     | n       |       |
| references_priv | enum('n','y')   |      |     | n       |       |
| index_priv      | enum('n','y')   |      |     | n       |       |
| alter_priv      | enum('n','y')   |      |     | n       |       |
+-----------------+-----------------+------+-----+---------+-------+
12 rows in set (0.00 sec)

Pour chaque ligne, la clé se trouve sur les champs "Host" et "Db". On comprend ainsi que chaque ligne permet de définir pour chaque Host et chaque base, les droits dont il dispose. Les informations sont les mêmes que pour la table User avec quelques options en moins. Il reste donc :
  • Select (affichage du contenu d'une table),
  • Insert (ajout d'un enregistrement dans une table),
  • Update (modification d'un enregistrement existant),
  • Delete (effacer des enregistrements de la table),
  • Create (création de tables dans la base courante),
  • Drop (suppression de tables),
  • Grant (),
  • References (),
  • Index (),
  • Alter (modifier la structure d'une table).
Les options en moins correspondent au fonctionnement de mysql qui restent accessible uniquement à la configuration et l'utilisation de MySQL...



  3. 5. Table Db

La Table Db permet en fait les mêmes restrictions et permissions que la table Host, mais en ajoutant dans la clé le champs User. Cette clé permet donc de définir les droits pour chaque utilisateur, base et host.
mysql> describe db;
+-----------------+-----------------+------+-----+---------+-------+
| field           | type            | null | key | default | extra |
+-----------------+-----------------+------+-----+---------+-------+
| host            | char(60) binary |      | pri |         |       |
| db              | char(64) binary |      | pri |         |       |
| user            | char(16) binary |      | pri |         |       |
| select_priv     | enum('n','y')   |      |     | n       |       |
| insert_priv     | enum('n','y')   |      |     | n       |       |
| update_priv     | enum('n','y')   |      |     | n       |       |
| delete_priv     | enum('n','y')   |      |     | n       |       |
| create_priv     | enum('n','y')   |      |     | n       |       |
| drop_priv       | enum('n','y')   |      |     | n       |       |
| grant_priv      | enum('n','y')   |      |     | n       |       |
| references_priv | enum('n','y')   |      |     | n       |       |
| index_priv      | enum('n','y')   |      |     | n       |       |
| alter_priv      | enum('n','y')   |      |     | n       |       |
+-----------------+-----------------+------+-----+---------+-------+
13 rows in set (0.00 sec)

On retrouve donc les mêmes options que pour la table host :
  • Select (affichage du contenu d'une table),
  • Insert (ajout d'un enregistrement dans une table),
  • Update (modification d'un enregistrement existant),
  • Delete (effacer des enregistrements de la table),
  • Create (création de tables dans la base courante),
  • Drop (suppression de tables),
  • Grant (),
  • References (),
  • Index (),
  • Alter (modifier la structure d'une table).
L'intérêt de cette table est de limiter encore un peu plus les droits pour chaque utilisateur. Les droits existants sont alors remplacés par les droits définis dans cette table.


  3. 6. Table tables_priv

La table Tables_priv permet de limiter encore un peu plus les droits. On se retrouve ici dans le cas d'un utilisateur à qui on donne accès sur une table d'une base pour un host spécifique. La clé porte d'ailleurs sur ces 4 champs : Host, Db, User, Table_name. Les options sont dans le champ "Table_priv" et dans le champs "Column_priv".
mysql> describe tables_priv;
+-------------+----------------------------------------------+------+-----+-------+-----+
| field       | type                                         | null | key |default|extra|
+-------------+----------------------------------------------+------+-----+-------+-----+
| host        | char(60) binary                              |      | pri |       |     |
| db          | char(64) binary                              |      | pri |       |     |
| user        | char(16) binary                              |      | pri |       |     |
| table_name  | char(60) binary                              |      | pri |       |     |
| grantor     | char(77)                                     |      | mul |       |     |
| timestamp   | timestamp(14)                                | yes  |     |null   |     |
| table_priv  | set('select','insert','update','delete',     |      |     |       |     |
|             |     'create', 'drop','grant','references',   |      |     |       |     |
|             |     'index','alter')                         |      |     |       |     |
| column_priv | set('select','insert','update','references') |      |     |       |     |
+-------------+----------------------------------------------+------+-----+-------+-----+
8 rows in set (0.00 sec)
L'affichage du résultat a été un peu modifié de manière à pouvoir afficher toutes les informations

Le champ Table_priv permet donc de définir les droits sur la table Table_name (Select, Insert, Update, Delete, Create, Drop, Grant, References, Index et Alter). Le champ Column_priv permet quand à lui de modifier les infos pour une colonne (Select, Insert, Update, References).



  3. 7. Table Columns_Priv

mysql> describe columns_priv;
+-------------+----------------------------------------------+------+-----+-------+-----+
| field       | type                                         | null | key |default|extra|
+-------------+----------------------------------------------+------+-----+-------+-----+
| host        | char(60) binary                              |      | pri |       |     |
| db          | char(64) binary                              |      | pri |       |     |
| user        | char(16) binary                              |      | pri |       |     |
| table_name  | char(64) binary                              |      | pri |       |     |
| column_name | char(64) binary                              |      | pri |       |     |
| timestamp   | timestamp(14)                                | yes  |     |null   |     |
| column_priv | set('select','insert','update','references') |      |     |       |     |
+-------------+----------------------------------------------+------+-----+-------+-----+
7 rows in set (0.00 sec)



  3. 8. Table Func

La table function permet de définir des fonctions dans MySQL. Un fonction MySQL est...
mysql> describe func;
+-------+------------------------------+------+-----+----------+-------+
| field | type                         | null | key | default  | extra |
+-------+------------------------------+------+-----+----------+-------+
| name  | char(64) binary              |      | pri |          |       |
| ret   | tinyint(1)                   |      |     | 0        |       |
| dl    | char(128)                    |      |     |          |       |
| type  | enum('function','aggregate') |      |     | function |       |
+-------+------------------------------+------+-----+----------+-------+
4 rows in set (0.00 sec)




  4. Utilisateurs

Attention, les utilisateurs de votre système (si vous êtes sous Unix) et les utilisateurs MySQL sont totalement dissociés. C'est-à-dire que MySQL gère sa propre base d'utilisateurs, et que par consequent les logins et mot de passe n'ont aucun rapport avec ceux du système.



  5. Variables



  5. 1. Affichage

Il est possible d'utiliser la commande 'show variables;' en direct, ou de préciser 'show global variables;' ou encore 'show session variables;'. En fonction de la configuration, ces 2 commandes renverront les mêmes informations.
mysql> show variables;
+---------------------------------+------------------------------------------------+
| Variable_name                   | Value                                          |
+---------------------------------+------------------------------------------------+
| auto_increment_increment        | 1                                              | 
| auto_increment_offset           | 1                                              | 
| automatic_sp_privileges         | ON                                             | 
| back_log                        | 50                                             | 
| basedir                         | c:\wamp\bin\mysql\mysql5.0.51a\                | 
| binlog_cache_size               | 32768                                          | 
| bulk_insert_buffer_size         | 8388608                                        | 
| character_set_client            | latin1                                         | 
| character_set_connection        | latin1                                         | 
| character_set_database          | latin1                                         | 
| character_set_filesystem        | binary                                         | 
| character_set_results           | latin1                                         | 
| character_set_server            | latin1                                         | 
| character_set_system            | utf8                                           | 
| character_sets_dir              | c:\wamp\bin\mysql\mysql5.0.51a\share\charsets\ | 
| collation_connection            | latin1_swedish_ci                              | 
| collation_database              | latin1_swedish_ci                              | 
| collation_server                | latin1_swedish_ci                              | 
| completion_type                 | 0                                              | 
| concurrent_insert               | 1                                              | 
| connect_timeout                 | 5                                              | 
| datadir                         | c:\wamp\bin\mysql\mysql5.0.51a\data\           | 
| date_format                     | %Y-%m-%d                                       | 
| datetime_format                 | %Y-%m-%d %H:%i:%s                              | 
| default_week_format             | 0                                              | 
| delay_key_write                 | ON                                             | 
| delayed_insert_limit            | 100                                            | 
| delayed_insert_timeout          | 300                                            | 
| delayed_queue_size              | 1000                                           | 
| div_precision_increment         | 4                                              | 
| keep_files_on_create            | OFF                                            | 
| engine_condition_pushdown       | OFF                                            | 
| expire_logs_days                | 0                                              | 
| flush                           | OFF                                            | 
| flush_time                      | 1800                                           | 
| ft_boolean_syntax               | + -><()~*:""&|                                 | 
| ft_max_word_len                 | 84                                             | 
| ft_min_word_len                 | 4                                              | 
| ft_query_expansion_limit        | 20                                             | 
| ft_stopword_file                | (built-in)                                     | 
| group_concat_max_len            | 1024                                           | 
| have_archive                    | YES                                            | 
| have_bdb                        | NO                                             | 
| have_blackhole_engine           | YES                                            | 
| have_compress                   | YES                                            | 
| have_crypt                      | NO                                             | 
| have_csv                        | NO                                             | 
| have_dynamic_loading            | YES                                            | 
| have_example_engine             | YES                                            | 
| have_federated_engine           | YES                                            | 
| have_geometry                   | YES                                            | 
| have_innodb                     | YES                                            | 
| have_isam                       | NO                                             | 
| have_merge_engine               | YES                                            | 
| have_ndbcluster                 | NO                                             | 
| have_openssl                    | DISABLED                                       | 
| have_ssl                        | DISABLED                                       | 
| have_query_cache                | YES                                            | 
| have_raid                       | NO                                             | 
| have_rtree_keys                 | YES                                            | 
| have_symlink                    | YES                                            | 
| hostname                        | FRODON                                         | 
| init_connect                    |                                                | 
| init_file                       |                                                | 
| init_slave                      |                                                | 
| innodb_additional_mem_pool_size | 2097152                                        | 
| innodb_autoextend_increment     | 8                                              | 
| innodb_buffer_pool_awe_mem_mb   | 0                                              | 
| innodb_buffer_pool_size         | 15728640                                       | 
| innodb_checksums                | ON                                             | 
| innodb_commit_concurrency       | 0                                              | 
| innodb_concurrency_tickets      | 500                                            | 
| innodb_data_file_path           | ibdata1:10M:autoextend                         | 
| innodb_data_home_dir            |                                                | 
| innodb_doublewrite              | ON                                             | 
| innodb_fast_shutdown            | 1                                              | 
| innodb_file_io_threads          | 4                                              | 
| innodb_file_per_table           | OFF                                            | 
| innodb_flush_log_at_trx_commit  | 1                                              | 
| innodb_flush_method             |                                                | 
| innodb_force_recovery           | 0                                              | 
| innodb_lock_wait_timeout        | 50                                             | 
| innodb_locks_unsafe_for_binlog  | OFF                                            | 
| innodb_log_arch_dir             |                                                | 
| innodb_log_archive              | OFF                                            | 
| innodb_log_buffer_size          | 1048576                                        | 
| innodb_log_file_size            | 10485760                                       | 
| innodb_log_files_in_group       | 2                                              | 
| innodb_log_group_home_dir       | .\                                             | 
| innodb_max_dirty_pages_pct      | 90                                             | 
| innodb_max_purge_lag            | 0                                              | 
| innodb_mirrored_log_groups      | 1                                              | 
| innodb_open_files               | 300                                            | 
| innodb_rollback_on_timeout      | OFF                                            | 
| innodb_support_xa               | ON                                             | 
| innodb_sync_spin_loops          | 20                                             | 
| innodb_table_locks              | ON                                             | 
| innodb_thread_concurrency       | 8                                              | 
| innodb_thread_sleep_delay       | 10000                                          | 
| interactive_timeout             | 28800                                          | 
| join_buffer_size                | 131072                                         | 
| key_buffer_size                 | 9437184                                        | 
| key_cache_age_threshold         | 300                                            | 
| key_cache_block_size            | 1024                                           | 
| key_cache_division_limit        | 100                                            | 
| language                        | c:\wamp\bin\mysql\mysql5.0.51a\share\english\  | 
| large_files_support             | ON                                             | 
| large_page_size                 | 0                                              | 
| large_pages                     | OFF                                            | 
| lc_time_names                   | en_US                                          | 
| license                         | GPL                                            | 
| local_infile                    | ON                                             | 
| log                             | OFF                                            | 
| log_bin                         | OFF                                            | 
| log_bin_trust_function_creators | OFF                                            | 
| log_error                       | c:\wamp\logs\mysql.log                         | 
| log_queries_not_using_indexes   | OFF                                            | 
| log_slave_updates               | OFF                                            | 
| log_slow_queries                | OFF                                            | 
| log_warnings                    | 1                                              | 
| long_query_time                 | 10                                             | 
| low_priority_updates            | OFF                                            | 
| lower_case_file_system          | ON                                             | 
| lower_case_table_names          | 2                                              | 
| max_allowed_packet              | 1048576                                        | 
| max_binlog_cache_size           | 4294967295                                     | 
| max_binlog_size                 | 1073741824                                     | 
| max_connect_errors              | 10                                             | 
| max_connections                 | 255                                            | 
| max_delayed_threads             | 20                                             | 
| max_error_count                 | 64                                             | 
| max_heap_table_size             | 16777216                                       | 
| max_insert_delayed_threads      | 20                                             | 
| max_join_size                   | 4294967295                                     | 
| max_length_for_sort_data        | 1024                                           | 
| max_prepared_stmt_count         | 16382                                          | 
| max_relay_log_size              | 0                                              | 
| max_seeks_for_key               | 4294967295                                     | 
| max_sort_length                 | 1024                                           | 
| max_sp_recursion_depth          | 0                                              | 
| max_tmp_tables                  | 32                                             | 
| max_user_connections            | 0                                              | 
| max_write_lock_count            | 4294967295                                     | 
| multi_range_count               | 256                                            | 
| myisam_data_pointer_size        | 6                                              | 
| myisam_max_sort_file_size       | 107374182400                                   | 
| myisam_recover_options          | OFF                                            | 
| myisam_repair_threads           | 1                                              | 
| myisam_sort_buffer_size         | 8388608                                        | 
| myisam_stats_method             | nulls_unequal                                  | 
| named_pipe                      | OFF                                            | 
| net_buffer_length               | 16384                                          | 
| net_read_timeout                | 30                                             | 
| net_retry_count                 | 10                                             | 
| net_write_timeout               | 60                                             | 
| new                             | OFF                                            | 
| old_passwords                   | OFF                                            | 
| open_files_limit                | 1285                                           | 
| optimizer_prune_level           | 1                                              | 
| optimizer_search_depth          | 62                                             | 
| pid_file                        | c:\wamp\bin\mysql\mysql5.0.51a\data\FRODON.pid | 
| port                            | 3306                                           | 
| preload_buffer_size             | 32768                                          | 
| profiling                       | OFF                                            | 
| profiling_history_size          | 15                                             | 
| protocol_version                | 10                                             | 
| query_alloc_block_size          | 8192                                           | 
| query_cache_limit               | 1048576                                        | 
| query_cache_min_res_unit        | 4096                                           | 
| query_cache_size                | 8388608                                        | 
| query_cache_type                | ON                                             | 
| query_cache_wlock_invalidate    | OFF                                            | 
| query_prealloc_size             | 8192                                           | 
| range_alloc_block_size          | 2048                                           | 
| read_buffer_size                | 61440                                          | 
| read_only                       | OFF                                            | 
| read_rnd_buffer_size            | 258048                                         | 
| relay_log_purge                 | ON                                             | 
| relay_log_space_limit           | 0                                              | 
| rpl_recovery_rank               | 0                                              | 
| secure_auth                     | OFF                                            | 
| secure_file_priv                |                                                | 
| shared_memory                   | OFF                                            | 
| shared_memory_base_name         | MYSQL                                          | 
| server_id                       | 0                                              | 
| skip_external_locking           | ON                                             | 
| skip_networking                 | OFF                                            | 
| skip_show_database              | OFF                                            | 
| slave_compressed_protocol       | OFF                                            | 
| slave_load_tmpdir               | C:\Windows\TEMP\                               | 
| slave_net_timeout               | 3600                                           | 
| slave_skip_errors               | OFF                                            | 
| slave_transaction_retries       | 10                                             | 
| slow_launch_time                | 2                                              | 
| sort_buffer_size                | 207864                                         | 
| sql_big_selects                 | ON                                             | 
| sql_mode                        |                                                | 
| sql_notes                       | ON                                             | 
| sql_warnings                    | OFF                                            | 
| ssl_ca                          |                                                | 
| ssl_capath                      |                                                | 
| ssl_cert                        |                                                | 
| ssl_cipher                      |                                                | 
| ssl_key                         |                                                | 
| storage_engine                  | InnoDB                                         | 
| sync_binlog                     | 0                                              | 
| sync_frm                        | ON                                             | 
| system_time_zone                | Paris, Madrid                                  | 
| table_cache                     | 510                                            | 
| table_lock_wait_timeout         | 50                                             | 
| table_type                      | InnoDB                                         | 
| thread_cache_size               | 12                                             | 
| thread_stack                    | 196608                                         | 
| time_format                     | %H:%i:%s                                       | 
| time_zone                       | SYSTEM                                         | 
| timed_mutexes                   | OFF                                            | 
| tmp_table_size                  | 13631488                                       | 
| tmpdir                          | C:\Windows\TEMP\                               | 
| transaction_alloc_block_size    | 8192                                           | 
| transaction_prealloc_size       | 4096                                           | 
| tx_isolation                    | REPEATABLE-READ                                | 
| updatable_views_with_limit      | YES                                            | 
| version                         | 5.0.51a-community-nt                           | 
| version_comment                 | MySQL Community Edition (GPL)                  | 
| version_compile_machine         | ia32                                           | 
| version_compile_os              | Win32                                          | 
| wait_timeout                    | 28800                                          | 
+---------------------------------+------------------------------------------------+


  5. 2. Modification des variables



  5.2.1. Méthode en direct

Selon les variables que vous souhaitez changer, vous pourrez utiliser la commande 'set' comme vu ci-dessous.
mysql> show variables like 'wait%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 28800 |
+---------------+-------+
1 row in set (0.00 sec)

mysql> set wait_timeout=28400;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'wait%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 28400 |
+---------------+-------+
1 row in set (0.00 sec)

mysql> set wait_timeout=28800;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'wait%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 28800 |
+---------------+-------+
1 row in set (0.00 sec)

Par contre, selon les variables, cette solution ne fonctionne pas forcément, comme vous pouvez le voir dans le cas suivant :
mysql> set global global_log=off;
ERROR 1193 (HY000): Unknown system variable 'global_log'
mysql> set global log=off;
ERROR 1193 (HY000): Unknown system variable 'log'
Pour pouvoir modifier ces valeurs, il faut passer par le fichier de configuration... C'est une super transition vers le paragraphe suivant !


  5.2.2. Méthode par le fichier de configuration

Le fichier de configuration (normalement 'my.ini' ou 'mysql.ini') contient toutes les options de démarrage (qui pour certaines peuvent également être mise directement en ligne de commandes du lancement de mysql). Pour modifier un paramètre dans ce fichier, il suffit de l'ajouter dedans. Contrairement au fichier de configuration de Apache, l'option peut être ajoutée à n'importe quel endroit du fichier, il n'y a pas de gestion de groupe ou de paragraphe. Ceci n'empêche pas une organisation du fichier de conf afin que chacun puisse s'y retrouver.

Par exemple, vous souhaitez ajouter les logs sur toutes les requêtes entrantes, vous ajoutez la ligne suivant sous windows :
log=c:/logs/mysql/query.log
ou sous linux :
log=/var/log/mysql/query.log
Il vous suffit ensuite de redémarrer votre service 'mysql', et les requêtes entrantes seront toutes logguées.

Attention seulement à vérifier 2 choses avant de modifier les paramètres :
  • le paramètre existe-t-il déjà dans le fichier ini ?
  • les fichiers et répertoires passés en paramètre existent-ils sur mon disque ?





Page modifiée le : 22/07/2002
Site modifié le : 14/09/2020


Valid XHTML 1.0 Transitional