溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysqld got signal舉例分析

發(fā)布時(shí)間:2021-11-19 11:54:16 來(lái)源:億速云 閱讀:194 作者:iii 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章主要介紹“mysqld got signal舉例分析”,在日常操作中,相信很多人在mysqld got signal舉例分析問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”mysqld got signal舉例分析”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

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

到此,關(guān)于“mysqld got signal舉例分析”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI