您好,登錄后才能下訂單哦!
這篇文章主要介紹“mysqld got signal舉例分析”,在日常操作中,相信很多人在mysqld got signal舉例分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”mysqld got signal舉例分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Description: When SELECTing from a timestamp based range partition where the table has no partition to handle values less than MAXVALUE and the SELECT condition reads from the last partition or greater, mysqld gets a signal 8. Repeatable with 5.5.23, 5.5.24 and 5.5.25, NOT with 5.5.20, 5.5.21, 5.5.22 How to repeat: [revin@forge msb_5_5_24]$ ./use test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.24 MySQL Community Server (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql [localhost] {msandbox} (test) > show create table table_XXXXX \G *************************** 1. row *************************** Table: table_XXXXX Create Table: CREATE TABLE `table_XXXXX` ( `record_type` smallint(5) unsigned NOT NULL, `timestamp` int(10) unsigned NOT NULL, `meta_pos_id` smallint(5) unsigned NOT NULL, `value` mediumint(8) unsigned NOT NULL, KEY `ts_rtype` (`timestamp`,`record_type`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (timestamp) (PARTITION 2012y03m VALUES LESS THAN (1333238400) ENGINE = InnoDB, PARTITION 2012y04m VALUES LESS THAN (1335830400) ENGINE = InnoDB, PARTITION 2012y05m VALUES LESS THAN (1338508800) ENGINE = InnoDB, PARTITION 2012y06m VALUES LESS THAN (1341100800) ENGINE = InnoDB) */ 1 row in set (0.00 sec) mysql [localhost] {msandbox} (test) > SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1338508800; +----------+ | COUNT(*) | +----------+ | 0 | +----------+ 1 row in set (0.00 sec) mysql [localhost] {msandbox} (test) > SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1341100799; ERROR 2013 (HY000): Lost connection to MySQL server during query Suggested fix: NA, but a workaround is to add a partition to handle values less than MAXVALUE.
Backtrace from core file during one of the crashes. Attachment: 23293-backtrace.txt (text/plain), 13.89 KiB.
Error log from sandbox creation to crash then restart. Attachment: 23293-error-log.txt (text/plain), 9.63 KiB.
Thank you for the bug report. Indeed repeatable with 5.5.24 but not anymore with current source: Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. h:\dbs>55 h:\dbs>h:\dbs\5.5\bin\mysql -uroot --port=3540 --prompt="mysql 5.5 >" Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.24 Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql 5.5 >use test Database changed mysql 5.5 >CREATE TABLE `table_XXXXX` ( -> `record_type` smallint(5) unsigned NOT NULL, -> `timestamp` int(10) unsigned NOT NULL, -> `meta_pos_id` smallint(5) unsigned NOT NULL, -> `value` mediumint(8) unsigned NOT NULL, -> KEY `ts_rtype` (`timestamp`,`record_type`) -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1 -> /*!50100 PARTITION BY RANGE (timestamp) -> (PARTITION 2012y03m VALUES LESS THAN (1333238400) ENGINE = InnoDB, -> PARTITION 2012y04m VALUES LESS THAN (1335830400) ENGINE = InnoDB, -> PARTITION 2012y05m VALUES LESS THAN (1338508800) ENGINE = InnoDB, -> PARTITION 2012y06m VALUES LESS THAN (1341100800) ENGINE = InnoDB) */; Query OK, 0 rows affected (0.88 sec) mysql 5.5 >SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1338508800; +----------+ | COUNT(*) | +----------+ | 0 | +----------+ 1 row in set (0.00 sec) mysql 5.5 >SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1341100799; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql 5.5 > Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. d:\dbs>55 d:\dbs>d:\dbs\5.5\bin\mysql -uroot --port=3541 --prompt="mysql 5.5 >" Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.26 Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql 5.5 >use test Database changed mysql 5.5 >CREATE TABLE `table_XXXXX` ( -> `record_type` smallint(5) unsigned NOT NULL, -> `timestamp` int(10) unsigned NOT NULL, -> `meta_pos_id` smallint(5) unsigned NOT NULL, -> `value` mediumint(8) unsigned NOT NULL, -> KEY `ts_rtype` (`timestamp`,`record_type`) -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1 -> /*!50100 PARTITION BY RANGE (timestamp) -> (PARTITION 2012y03m VALUES LESS THAN (1333238400) ENGINE = InnoDB, -> PARTITION 2012y04m VALUES LESS THAN (1335830400) ENGINE = InnoDB, -> PARTITION 2012y05m VALUES LESS THAN (1338508800) ENGINE = InnoDB, -> PARTITION 2012y06m VALUES LESS THAN (1341100800) ENGINE = InnoDB) */; Query OK, 0 rows affected (0.24 sec) mysql 5.5 >SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1338508800; +----------+ | COUNT(*) | +----------+ | 0 | +----------+ 1 row in set (0.05 sec) mysql 5.5 >SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1341100799; +----------+ | COUNT(*) | +----------+ | 0 | +----------+ 1 row in set (0.00 sec) mysql 5.5 >
Miguel, have you tried with 5.5.25 official Oracle binaries as I did?
Not sure why this is still marked as can't repeat - have you tested with official Oracle binaries yet?
The problem still exists on 5.5.25a, not sure why this is still can't repeat? [revin@forge mysql]$ sb 5525 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.5.25a MySQL Community Server (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql [localhost] {msandbox} ((none)) > use test; Database changed mysql [localhost] {msandbox} (test) > CREATE TABLE `table_XXXXX` ( -> `record_type` smallint(5) unsigned NOT NULL, -> `timestamp` int(10) unsigned NOT NULL, -> `meta_pos_id` smallint(5) unsigned NOT NULL, -> `value` mediumint(8) unsigned NOT NULL, -> KEY `ts_rtype` (`timestamp`,`record_type`) -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1 -> /*!50100 PARTITION BY RANGE (timestamp) -> (PARTITION 2012y03m VALUES LESS THAN (1333238400) ENGINE = InnoDB, -> PARTITION 2012y04m VALUES LESS THAN (1335830400) ENGINE = InnoDB, -> PARTITION 2012y05m VALUES LESS THAN (1338508800) ENGINE = InnoDB, -> PARTITION 2012y06m VALUES LESS THAN (1341100800) ENGINE = InnoDB) */ -> ; Query OK, 0 rows affected (0.01 sec) mysql [localhost] {msandbox} (test) > SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1338508800; +----------+ | COUNT(*) | +----------+ | 0 | +----------+ 1 row in set (0.00 sec) mysql [localhost] {msandbox} (test) > SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1341100799; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql [localhost] {msandbox} (test) >
This is a know bug that is fixed in current code: macbook-pro:5.5 openxs$ bin/mysql -uroot test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.28-debug Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> CREATE TABLE `table_XXXXX` ( -> `record_type` smallint(5) unsigned NOT NULL, -> `timestamp` int(10) unsigned NOT NULL, -> `meta_pos_id` smallint(5) unsigned NOT NULL, -> `value` mediumint(8) unsigned NOT NULL, -> KEY `ts_rtype` (`timestamp`,`record_type`) -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1 -> /*!50100 PARTITION BY RANGE (timestamp) -> (PARTITION 2012y03m VALUES LESS THAN (1333238400) ENGINE = InnoDB, -> PARTITION 2012y04m VALUES LESS THAN (1335830400) ENGINE = InnoDB, -> PARTITION 2012y05m VALUES LESS THAN (1338508800) ENGINE = InnoDB, -> PARTITION 2012y06m VALUES LESS THAN (1341100800) ENGINE = InnoDB) */; Query OK, 0 rows affected (0.07 sec) mysql> SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1338508800; +----------+ | COUNT(*) | +----------+ | 0 | +----------+ 1 row in set (0.00 sec) mysql> SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1341100799; +----------+ | COUNT(*) | +----------+ | 0 | +----------+ 1 row in set (0.00 sec) So, please, wait for the official release of 5.5.27 with the fix.
Valeriy, Thanks - looks like Miguel tested with 5.5.26 - is this coming to .26 or .27 as you mentioned?
Ahh, nvm, found my answer :) http://dev.mysql.com/doc/refman/5.5/en/news-5-5-26.html
到此,關于“mysqld got signal舉例分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。