Je me demandais si quelqu'un pouvait me diriger dans la bonne direction. J'ai installé un sandbox local Mysql 5.1 sur ma machine Snow Leopard OSX, j'ai le Macports Mysql 5.1 installé et, par tous les aspects, fonctionne. Il prend des requêtes, la base de données fonctionne, etc. La seule chose étrange est, le cache de requête ne fonctionne pas. Je l'ai fait fonctionner sous linux avant, et je l'ai fait fonctionner dans une installation 5.0 xammp, mais je suis déconcerté quant à savoir pourquoi il ne fonctionne pas dans cette configuration.Mysql 5.1 sur Mac: le cache de requêtes ne fonctionne pas
Quelques détails ...
% cat /etc/my.cnf | grep -i query_cache query_cache_limit = 1M query_cache_size = 32M query_cache_type = 1 mysql> show variables like '%query_cache%'; +------------------------------+----------+ | Variable_name | Value | +------------------------------+----------+ | have_query_cache | YES | | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 33554432 | | query_cache_type | ON | | query_cache_wlock_invalidate | OFF | +------------------------------+----------+ 6 rows in set (0.00 sec) mysql> show status like '%Qcache%'; +-------------------------+----------+ | Variable_name | Value | +-------------------------+----------+ | Qcache_free_blocks | 1 | | Qcache_free_memory | 33536856 | | Qcache_hits | 0 | | Qcache_inserts | 0 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 433 | | Qcache_queries_in_cache | 0 | | Qcache_total_blocks | 1 | +-------------------------+----------+ 8 rows in set (0.01 sec)
Il me semble que tout est configuré correctement, ce sont essentiellement les mêmes paramètres que je l'ai utilisé sur 5.0 et 4.1. La plupart des requêtes sont en cache, et je n'exclus pas spécifiquement le cache. Je ne sais pas si c'est un problème Mac, un problème MacPorts, ou un problème 5.1, ou mon problème personnel. Quelqu'un peut-il voir quelque chose de mal avec ma configuration?
Ok, des informations supplémentaires. Cela semble être lié à Innodb. Les requêtes MyISAM semblent bien se mettre en cache.
Ma configuration Inno:
$ cat /etc/my.cnf | grep nno # Uncomment the following if you are using InnoDB tables innodb_file_per_table innodb_data_home_dir = /opt/local/var/db/mysql5 innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /opt/local/var/db/mysql5 innodb_buffer_pool_size = 256M innodb_additional_mem_pool_size = 12M innodb_log_file_size = 50M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 2 innodb_lock_wait_timeout = 300 innodb_flush_method=O_DIRECT
Comment dites-vous que ça ne fonctionne pas? Pourriez-vous s'il vous plaît poster la requête que vous essayez d'exécuter? – Quassnoi
la plupart (> 50%) de ces 433 requêtes devraient avoir mis en cache. Je peux exécuter: "select * from student limit 10;" à plusieurs reprises et il va incrémenter le nombre Qcache_not_cached, mais ne mettra pas en cache la requête. – TrippyD
En outre, cette requête renvoie bien moins que la query_cache_limit de 1M – TrippyD