2012-06-26 27 views
0

[更新]可能是我使用(或誤用)的seamless_database_pool gem。如何判斷讀取是否被重定向到Rails3上的MySQL從服務器

我剛剛使用seamless_database_pool在Rails3上設置了主/從設置。這是否意味着讀取肯定不會被重定向到從機?

如何在MySQL級別檢查此項? 我希望show processlist會這樣做,但我沒有看到任何進程。

[更新]

運行在主顯示器中的查詢正在運行show processlist,所以我想的讀取不被傳遞給從機。

的bin_log文件只是具有以下(9及X加):

/*!40019 SET @@session.max_insert_delayed_threads=0*/; /*!50003 SET @[email protected]@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 [email protected]_COMPLETION_TYPE*/;

感謝

+0

SHOW SLAVE STATUS在從機上顯示的是什麼? (請參閱:http://dev.mysql.com/doc/refman/5.0/en/replication-administration-status.html) – LSerni

+0

SHOW SLAVE STATUS是最新的,主從通信正在工作。經過一番挖掘,我意識到我需要對[seamless_database_pool](https://github.com/bdurand/seamless_database_pool)的配置進行更改,並且一切都很好。感謝您的幫助,Isemi。 – bgajdero

回答

0

這是可能的過程太快了,你捉對「SHOW PROCESSLIST」 。如果是這種情況,您可以啓用my.cnf中的日誌記錄功能。

否則,我知道一個從屬MySQL被建議打開二進制日誌記錄,並且您可以使用「mysqlbinlog」實用程序來檢查它。你會轉到存儲MySQL binlog的目錄(在Linux上它通常是/ var/lib/mysql或/ var/lib/mysql/data),檢查各種bin文件以獲取最新的內容 - 像這樣的一個bin文件.001723 - 只需運行mysqlbinlog就可以了。輸出非常混亂,但可以用sed輕鬆解析或用grep搜索。

還有一些實用程序可以在網絡級別攔截MySQL數據包,並將它們顯示在標準輸出中。大部分基於tcpdump,實際上你需要的僅僅是tcpdump本身: http://www.megalinux.net/using-tcpdump-for-mysql-query-logging/

+0

謝謝Isemi,我應該提到,我在發出'show processlist'時看到master mysql上的查詢。我認爲它被傳遞給奴隸,但你已經證實我應該看到奴隸本身。我打開了從機上的bin日誌,但我看到的是關於binlog開始的20行。我會用這個信息更新我的問題。 – bgajdero

相關問題