I finished migration from 5.1 to 5.6, and (with the same queries as before) mysql complains right away about:
General error: 1651 Query cache is disabled; restart the server with
query_cache_type=1 to enable it
I don't want the query cache enabled (that's an app with lots of writting), and my file my.ini looks like this:
# The MySQL server
[mysqld]
# ... other parameters...
query_cache_type = 0
query_cache_size = 0
Also, on connect, my php connection wrapper always executes
SET SESSION query_cache_type = OFF
What I don't understand is
- Why the parameters apparently do not work
- Why does mysql even have to complain about a parameter that is disabled when it is the user's choice to do so.
Enlightment needed – Thanks!
Best Answer
I think the
SET SESSION query_cache_type = OFF
is causing this. In the Query Cache Configuration page it states:And since you are starting the server with cache disabled, there is no need to use that
SET
anyway.As to why it throws an error (both with
= OFF
and= 0
), it may have to do with this note in Server System Variables page:My interpretation is that the variable has both Global and Session scope but only if it not set to off at startup.