[更新] 可能是seamless_database_pool宝石的使用(或滥用)。
我只是使用seamless_database_pool在Rails3上设置主/从设置。这是否意味着绝对不会将读取重定向到从属设备?
如何在MySQL级别检查?
我希望show processlist
会这样做,但我没有看到任何过程。
[更新]
在主服务器上运行show processlist
会显示正在运行的查询,因此我猜这些READ不会传递给从服务器。
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*/;
由于
答案 0 :(得分:0)
这些过程可能太快,无法吸引“show processlist”。如果是这种情况,您可以打开my.cnf中的登录。
否则,我知道建议从属MySQL启用二进制日志记录,您可以使用“mysqlbinlog”实用程序检查它。
你会去存储MySQL binlogs的目录(在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/