运行 mysqltuner 后,我的应用程序日志显示“准备好的语句需要重新准备”(麻烦版本 1.1 和 1.4)。一旦我运行“flush table;”,错误就会消失。我在网上查看过,大多数内容都提到了与此错误相关的 mysqldump,但我没有运行 mysqldump。事实上,并没有真正做任何事情。所以有几个与此错误相关的问题:
- 一般来说,有什么与 mysqldump 无关的原因吗?
- 还有人在使用 mysqltuner 时遇到此问题吗?
- 这是否表明我需要研究更深层次的问题?
我的.conf:
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# NOTE: server did not like over 2GB
innodb_buffer_pool_size=1GB
innodb_log_buffer_size=9M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
join_buffer_size = 2M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names=1
character-set-server=utf8
query_cache_size=100M
query_cache_type=1
slow_query_log=ON
query_cache_limit = 10M
table_open_cache=164000
open_files_limit=328000
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
如果您需要其他信息,请告诉我。
编辑 2015 年 3 月 10 日: 我刚刚执行了以下操作,没有出现任何问题:
- 运行 mysqldump 将一个数据库(包含数据和函数)转储到“loadDB.sql”脚本以供以后使用。
- 添加了新数据库
- 使用“mysql < loadDB.sql”,加载我的新数据库
- 已更新行并将行添加到我的新数据库中 我对上述内容没有任何问题。
所以只有当我运行 mysqltuner 时才会出现问题。我不知道的是如果
- mysqltuner 导致了这个问题,在这种情况下,我要么永远不运行 mysqltuner,要么立即运行“flush table;”之后。
- 我的mysql配置有问题,这会给我以后带来问题,需要解决。
- 或者还有其他一些我还没有考虑的问题来源 第一步,也是写这篇文章的原因,是确定 mysqltuner 是否会导致此问题。
谢谢。
最佳答案
mysqltuner 代码中根本没有运行任何 FLUSH 命令。
我在最新的1.5.1版本中检查过。
关于mysql - mysqltuner后需要重新准备prepared语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28948970/