Мне было интересно, может ли кто-нибудь указать мне правильное направление. Я установил локальную песочницу Mysql 5.1 на своей машине Snow Leopard OSX, у меня установлен Macports Mysql 5.1 и, по всей видимости, он работает. Он принимает запросы, база данных работает и т. Д. Единственное, что странно, кэш запросов не работает. Я уже работал в linux и работал в 5.0 xammp, но я не уверен, почему он не работает в этой установке.
Некоторые подробности ...
% 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)
Мне кажется, что все настроено правильно, это в основном те же настройки, которые я использовал в 5.0 и 4.1. Большинство запросов с возможностью кэширования, и я не исключаю кеша специально. Я не знаю, это проблема Mac, проблема MacPorts, проблема 5.1 или моя личная проблема. Кто-нибудь может увидеть что-то не так с моей настройкой?
Хорошо, некоторая дополнительная информация. Похоже, это связано с Innodb. Запросы MyISAM кешируются очень хорошо.
Моя настройка 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