Bug #64951 | btr_estimate_number_of_different_key_vals crash in server | ||
---|---|---|---|
Submitted: | 12 Apr 2012 9:46 | Modified: | 17 Apr 2012 20:02 |
Reporter: | Milo van der Zee | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S1 (Critical) |
Version: | 5.1.61 | OS: | Linux (Gentoo) |
Assigned to: | CPU Architecture: | Any |
[12 Apr 2012 9:46]
Milo van der Zee
[12 Apr 2012 10:36]
Valeriy Kravchuk
Please, send your my.cnf file content, entire error log and the results of: uname -a free df -k Linux commands.
[12 Apr 2012 10:41]
Milo van der Zee
It used to work for years and now suddenly it crashes. I assume that my database is corrupt and I'm now restoring from another running database copy. Filesystem 1K-blocks Used Available Use% Mounted on rootfs 306587860 206613592 90629988 70% / /dev/root 306587860 206613592 90629988 70% / rc-svcdir 1024 144 880 15% /lib/rc/init.d cgroup_root 10240 0 10240 0% /sys/fs/cgroup udev 10240 304 9936 3% /dev shm 4119392 0 4119392 0% /dev/shm /dev/sda1 101086 85500 10367 90% /boot Linux spectrum 3.2.1-gentoo-r2 #1 SMP Tue Feb 21 21:11:31 CET 2012 i686 Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHz GenuineIntel GNU/Linux total used free shared buffers cached Mem: 8238788 7981068 257720 0 123512 5116236 -/+ buffers/cache: 2741320 5497468 Swap: 987992 2156 985836 # /etc/mysql/my.cnf: The global mysql configuration file. # $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/my.cnf-4.1,v 1.4 2008/11/14 02:16:25 robbat2 Exp $ # The following options will be passed to all MySQL clients [client] #password = your_password port = 3306 socket = /var/run/mysqld/mysqld.sock [mysql] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqladmin] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqlcheck] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqldump] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqlimport] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqlshow] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [myisamchk] character-sets-dir=/usr/share/mysql/charsets [myisampack] character-sets-dir=/usr/share/mysql/charsets # use [safe_mysqld] with mysql-3 [mysqld_safe] err-log = /var/log/mysql/mysql.err # add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations [mysqld] #default-storage-engine = INNODB character-set-server = utf8 default-character-set = utf8 user = mysql port = 3306 socket = /var/run/mysqld/mysqld.sock pid-file = /var/run/mysqld/mysqld.pid log-error = /var/log/mysql/mysqld.err basedir = /usr datadir = /var/lib/mysql skip-locking key_buffer = 32M max_allowed_packet = 32M table_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M language = /usr/share/mysql/english # security: # using "localhost" in connects uses sockets by default # skip-networking bind-address = 127.0.0.1 log-bin = mysql-bin.log log-bin-index = mysql-bin-index.log server-id = 1 # point the following paths to different dedicated disks tmpdir = /tmp/ #log-update = /path-to-dedicated-directory/hostname # you need the debug USE flag enabled to use the following directives, # if needed, uncomment them, start the server and issue # #tail -f /tmp/mysqld.sql /tmp/mysqld.trace # this will show you *exactly* what's happening in your server ;) #log = /tmp/mysqld.sql #gdb #debug = d:t:i:o,/tmp/mysqld.trace #one-thread # uncomment the following directives if you are using BDB tables #bdb_cache_size = 4M #bdb_max_lock = 10000 # the following is the InnoDB configuration # if you wish to disable innodb instead # uncomment just the next line #skip-innodb # # the rest of the innodb config follows: # don't eat too much memory, we're trying to be safe on 64Mb boxes # you might want to bump this up a bit on boxes with more RAM innodb_buffer_pool_size = 512M # this is the default, increase it if you have lots of tables innodb_additional_mem_pool_size = 4M # # i'd like to use /var/lib/mysql/innodb, but that is seen as a database :-( # and upstream wants things to be under /var/lib/mysql/, so that's the route # we have to take for the moment #innodb_data_home_dir = /var/lib/mysql/ #innodb_log_arch_dir = /var/lib/mysql/ #innodb_log_group_home_dir = /var/lib/mysql/ # you may wish to change this size to be more suitable for your system # the max is there to avoid run-away growth on your machine innodb_data_file_path = ibdata1:10M:autoextend:max:512M # we keep this at around 25% of of innodb_buffer_pool_size # sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size) innodb_log_file_size = 128M # this is the default, increase it if you have very large transactions going on innodb_log_buffer_size = 32M # this is the default and won't hurt you # you shouldn't need to tweak it innodb_log_files_in_group = 2 # see the innodb config docs, the other options are not always safe innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 innodb_file_per_table [mysqldump] quick max_allowed_packet = 32M [mysql] # uncomment the next directive if you are not familiar with SQL #safe-updates [isamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout
[12 Apr 2012 11:41]
Milo van der Zee
After using a fresh copy from another mysql instance all is fine again. So it seems to be a database corruption. But it should not crash like this...
[17 Apr 2012 20:02]
Sveta Smirnova
Thank you for the feedback. Closing as "Can't repeat" for now. If you meet this again make binary copy of your data directory, upload to Oracle FTP server and reopen the report, so we can repeat it on our side and consider if we can fix this.
[13 Mar 2013 10:08]
MySQL Verification Team
Seen this happen on 5.5.29 when I_S query was running over partitioned innodb tables....