Mysql – thesql wont start, thesqld got signal 11 ;

mariadbMySQL

I'm trying to get mysql up and running on a VPS i've not used in a few months (when it was working). I'm using MariaDB and everything is up to date.

The error log shows this:

  systemd[1]: Starting LSB: Start and stop the mysql database server daemon...
  systemd[1]: Failed to reset devices.list on /system.slice/mysql.service: No such file or directory
  mysqld_safe: Starting mysqld daemon with databases from /var/lib/mysql
  mysqld: 180123  4:52:41 [Note] /usr/sbin/mysqld (mysqld 10.0.32-MariaDB-0+deb8u1) starting as process 24959 ...
  mysqld: 180123  4:52:41 [Note] InnoDB: innodb_empty_free_list_algorithm has been changed to legacy because of small buffer pool size. In order to use backoff, increase buffer pool at least up to 20MB.
  mysqld: 
  mysqld: 180123  4:52:41 [Note] InnoDB: Using mutexes to ref count buffer pool pages
  mysqld: 180123  4:52:41 [Note] InnoDB: The InnoDB memory heap is disabled
  mysqld: 180123  4:52:41 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
  mysqld: 180123  4:52:41 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
  mysqld: 180123  4:52:41 [Note] InnoDB: Compressed tables use zlib 1.2.8
  mysqld: 180123  4:52:41 [Note] InnoDB: Using Linux native AIO
  mysqld: 180123  4:52:41 [Note] InnoDB: Using CPU crc32 instructions
  mysqld: 180123  4:52:41 [Note] InnoDB: Initializing buffer pool, size = 128.0M
  mysqld: 180123  4:52:41 [Note] InnoDB: Completed initialization of buffer pool
  mysqld: 180123  4:52:41 [Note] InnoDB: Highest supported file format is Barracuda.
  mysqld: 180123  4:52:41 [Note] InnoDB: The log sequence numbers 6768897232 and 6768897232 in ibdata files do not match the log sequence number 6768897252 in the ib_logfiles!
  mysqld: 180123  4:52:41 [Note] InnoDB: Restoring possible half-written data pages from the doublewrite buffer...
  mysqld: 180123  4:52:42 [Note] InnoDB: 128 rollback segment(s) are active.
  mysqld: 180123  4:52:42 [Note] InnoDB: Waiting for purge to start
  mysqld: 180123  4:52:42 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.36-82.1 started; log sequence number 6768897252
  mysqld: 180123  4:52:42 [Note] mysqld: Aria engine: starting recovery
  mysqld: recovered pages: 0% 10% 20% 30% 40% 50% 60% 70% 80% 90%180123  4:52:42 [ERROR] mysqld got signal 11 ;
  mysqld: This could be because you hit a bug. It is also possible that this binary
  mysqld: or one of the libraries it was linked against is corrupt, improperly built,
  mysqld: or misconfigured. This error can also be caused by malfunctioning hardware.
  mysqld: 
  mysqld: To report this bug, see https://mariadb.com/kb/en/reporting-bugs
  mysqld: 
  mysqld: We will try our best to scrape up some info that will hopefully help
  mysqld: diagnose the problem, but since we have already crashed,
  mysqld: something is definitely wrong and this may fail.
  mysqld: 
  mysqld: Server version: 10.0.32-MariaDB-0+deb8u1
  mysqld: key_buffer_size=16777216
  mysqld: read_buffer_size=131072
  mysqld: max_used_connections=0
  mysqld: max_threads=153
  mysqld: thread_count=0
  mysqld: It is possible that mysqld could use up to
  mysqld: key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 352327 K  bytes of memory
  mysqld: Hope that's ok; if not, decrease some variables in the equation.
  mysqld: 
  mysqld: Thread pointer: 0x0
  mysqld: Attempting backtrace. You can use the following information to find out
  mysqld: where mysqld died. If you see no messages after this, something went
  mysqld: terribly wrong...
  mysqld: stack_bottom = 0x0 thread_stack 0x30000
  mysqld: /usr/sbin/mysqld(my_print_stacktrace+0x2e)[0xc047de]
  mysqld: /usr/sbin/mysqld(handle_fatal_signal+0x3af)[0x7362bf]
  mysqld: /lib/x86_64-linux-gnu/libpthread.so.0(+0xf890)[0x7f128077c890]
  mysqld: /usr/sbin/mysqld[0xae046a]
  mysqld: /usr/sbin/mysqld[0xadf4e1]
  mysqld: /usr/sbin/mysqld[0xae4307]
  mysqld: /usr/sbin/mysqld[0xae4a8e]
  mysqld: /usr/sbin/mysqld[0xac0495]
  mysqld: /usr/sbin/mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x5e)[0x73836e]
  mysqld: /usr/sbin/mysqld[0x5d0995]
  mysqld: /usr/sbin/mysqld(_Z11plugin_initPiPPci+0x4b0)[0x5d1b70]
  mysqld: /usr/sbin/mysqld[0x529d85]
  mysqld: /usr/sbin/mysqld(_Z11mysqld_mainiPPc+0x55d)[0x52f8ad]
  mysqld: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f127f30db45]
  mysqld: /usr/sbin/mysqld[0x525361]
  mysqld: The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
  mysqld: information that should help you find out what is causing the crash.
  mysqld_safe: mysqld from pid file /var/run/mysqld/mysqld.pid ended

I've google all of the error codes and also tried the innodb recovery flags to no avail. I'm really stumped, hopefully someone can help. Thanks`

edit: I backed-up the folder for the db i want to salvge, then removed and insalled mariadb to get it up and running, then i copied the db folder back.

It's now running but one of the tables is inaccessible. If i do a CHECK on it:

tblProducts: Table is marked as crashed and last repair failed
tblProducts: 22 clients are using or haven't closed the table properly
tblProducts: Table create_trd (8415420) > current max_transaction id (1). Table needs to be repaired or zerofilled to be usable
tblProducts: Size of indexfile is: 564641792 Expected: 17252352
tblProducts: Corrupt

edit2: I then did a simple "repair" on the table and all is well. So frustrtingn that the errors given were suggesting hardware issues and had me googling all of the error codes, when it was something so simple. Oh well you live and learn!

Best Answer

  • Check free space
  • Check cron (ls -l /etc/cron.daily)
  • Check logging system . $DATADIR may have too many logs, in which case kill all mysql processes and mysqld processes and remove all relay bin logs from $DATADIR, then start back the processes. Finally, connect to database and issue 'flush logs'.
  • From my.cnf try to remove expire-logs-days and max_binlog_size entries (because having an expire_logs_days entry without bin_log can cause a crash) and see if that fixes the issue.