更新可能是我对池子 gem的使用(或误用)。
我只是在Rails3上使用池子设置了一个主/从设置。这是否意味着读取肯定不会被重定向到奴隶?
我如何在MySQL级别检查这一点?我希望show processlist会这么做,但我没有看到任何过程。
更新
在主服务器上运行show processlist会显示正在运行的查询,因此我猜读取不会传递给从服务器。
bin_log文件只有以下内容(添加了9和x):
/*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/; DELIMITER /*!*/; \# at 4 \#xxxxxxx 99:99:99 server id 2 end_log_pos 106 Start: binlog v 4, server v 5.1.52-log created xxxx 99:99:99 at startup ROLLBACK/*!*/; BINLOG ' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxx '/*!*/; \# at 106 \#xxxx 99:99:99 server id 2 end_log_pos 125 Stop DELIMITER ; \# End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
谢谢
发布于 2012-06-26 21:21:01
有可能这些进程太快,以至于您无法理解“显示处理列表”。如果是这样的话,您可能可以打开my.cnf中的日志记录。
否则,我了解到建议启用从MySQL打开二进制日志,您可以使用"mysqlbinlog“实用程序检查它。
您可以转到存储MySQL绑定日志的目录(在Linux上通常是/var/lib/mysql或/var/lib/mysql/data),检查各种bin文件以获得最新的(类似于thisisyourbinfile.001723 ),然后在其上运行mysqlbinlog即可。输出非常混乱,但是可以很容易地用sed解析,也可以用grep搜索。
还有一些实用程序可以在网络级别拦截MySQL数据包,并在标准输出上显示它们。大多数是基于tcpdump,实际上您只需要tcpdump本身:例如,http://www.megalinux.net/using-tcpdump-for-mysql-query-logging/。
https://stackoverflow.com/questions/11215929
复制相似问题