0

The issue

I have a debian server running a LAMP stack. For no reason this afternoon, my MySQL server crashed and I seem to be unable to restart it.

When I try to start it with the command service mysql start no output is given and no mysql instance is running either. The error log is also not recording anything.

What I tried

When I try to start a new instance with the mysqld command in console I just get the following message:

171113 18:44:52 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
171113 18:44:52 [Note] mysqld (mysqld 5.5.55-0+deb7u1) starting as process 6279 ...

But checking the running processes list with the top command shows no mysql instance running.

When checking the /var/log/mysql/error.log I get the following information:

171113 15:02:08 [Note] Plugin 'FEDERATED' is disabled.
171113 15:02:08 InnoDB: The InnoDB memory heap is disabled
171113 15:02:08 InnoDB: Mutexes and rw_locks use GCC atomic builtins
171113 15:02:08 InnoDB: Compressed tables use zlib 1.2.7
171113 15:02:08 InnoDB: Using Linux native AIO
171113 15:02:08 InnoDB: Initializing buffer pool, size = 128.0M
171113 15:02:08 InnoDB: Completed initialization of buffer pool
171113 15:02:08 InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 372845412514
171113 15:02:08  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 372846067858
171113 15:02:08  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
171113 15:02:09  InnoDB: Waiting for the background threads to start
171113 15:02:10 InnoDB: 5.5.55 started; log sequence number 372846067858
171113 15:02:10 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
171113 15:02:10 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
171113 15:02:10 [Note] Server socket created on IP: '127.0.0.1'.
171113 15:02:10 [ERROR] Can't start server : Bind on unix socket: No such file or directory
171113 15:02:10 [ERROR] Do you already have another mysqld server running on socket: /var/run/mysqld/mysqld.sock ?
171113 15:02:10 [ERROR] Aborting

171113 15:02:10  InnoDB: Starting shutdown...
171113 15:02:10  InnoDB: Shutdown completed; log sequence number 372846067942
171113 15:02:10 [Note] mysqld: Shutdown complete

171113 15:05:25 [Note] Plugin 'FEDERATED' is disabled.
171113 15:05:25 InnoDB: The InnoDB memory heap is disabled
171113 15:05:25 InnoDB: Mutexes and rw_locks use GCC atomic builtins
171113 15:05:25 InnoDB: Compressed tables use zlib 1.2.7
171113 15:05:25 InnoDB: Using Linux native AIO
171113 15:05:25 InnoDB: Initializing buffer pool, size = 128.0M
171113 15:05:25 InnoDB: Completed initialization of buffer pool
171113 15:05:25 InnoDB: highest supported file format is Barracuda.
171113 15:05:25  InnoDB: Waiting for the background threads to start
171113 15:05:26 InnoDB: 5.5.55 started; log sequence number 372846067942
mysqld: Too many arguments (first extra is 'stop').
Use --verbose --help to get a list of available options
171113 15:05:26 [ERROR] Aborting

171113 15:05:26  InnoDB: Starting shutdown...
171113 15:05:27  InnoDB: Shutdown completed; log sequence number 372846067942
171113 15:05:27 [Note] mysqld: Shutdown complete

171113 15:09:15 [Note] Plugin 'FEDERATED' is disabled.
171113 15:09:15 InnoDB: The InnoDB memory heap is disabled
171113 15:09:15 InnoDB: Mutexes and rw_locks use GCC atomic builtins
171113 15:09:15 InnoDB: Compressed tables use zlib 1.2.7
171113 15:09:15 InnoDB: Using Linux native AIO
171113 15:09:15 InnoDB: Initializing buffer pool, size = 128.0M
171113 15:09:15 InnoDB: Completed initialization of buffer pool
171113 15:09:15 InnoDB: highest supported file format is Barracuda.
171113 15:09:15  InnoDB: Waiting for the background threads to start
171113 15:09:16 InnoDB: 5.5.55 started; log sequence number 372846067942
171113 15:09:16 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
171113 15:09:16 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
171113 15:09:16 [Note] Server socket created on IP: '127.0.0.1'.
171113 15:09:16 [ERROR] Can't start server : Bind on unix socket: No such file or directory
171113 15:09:16 [ERROR] Do you already have another mysqld server running on socket: /var/run/mysqld/mysqld.sock ?
171113 15:09:16 [ERROR] Aborting

171113 15:09:16  InnoDB: Starting shutdown...
171113 15:09:17  InnoDB: Shutdown completed; log sequence number 372846067942
171113 15:09:17 [Note] mysqld: Shutdown complete

171113 15:10:04 [Note] Plugin 'FEDERATED' is disabled.
171113 15:10:04 InnoDB: The InnoDB memory heap is disabled
171113 15:10:04 InnoDB: Mutexes and rw_locks use GCC atomic builtins
171113 15:10:04 InnoDB: Compressed tables use zlib 1.2.7
171113 15:10:04 InnoDB: Using Linux native AIO
171113 15:10:04 InnoDB: Initializing buffer pool, size = 128.0M
171113 15:10:04 InnoDB: Completed initialization of buffer pool
171113 15:10:04 InnoDB: highest supported file format is Barracuda.
171113 15:10:05  InnoDB: Waiting for the background threads to start
171113 15:10:06 InnoDB: 5.5.55 started; log sequence number 372846067942
171113 15:10:06 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306
171113 15:10:06 [Note]   - '127.0.0.1' resolves to '127.0.0.1';
171113 15:10:06 [Note] Server socket created on IP: '127.0.0.1'.
171113 15:10:06 [ERROR] Can't start server : Bind on unix socket: No such file or directory
171113 15:10:06 [ERROR] Do you already have another mysqld server running on socket: /var/run/mysqld/mysqld.sock ?
171113 15:10:06 [ERROR] Aborting

171113 15:10:06  InnoDB: Starting shutdown...
171113 15:10:06  InnoDB: Shutdown completed; log sequence number 372846067942
171113 15:10:06 [Note] mysqld: Shutdown complete

171113 15:10:16 [Note] Plugin 'FEDERATED' is disabled.
171113 15:10:16 InnoDB: The InnoDB memory heap is disabled
171113 15:10:16 InnoDB: Mutexes and rw_locks use GCC atomic builtins
171113 15:10:16 InnoDB: Compressed tables use zlib 1.2.7
171113 15:10:16 InnoDB: Using Linux native AIO
171113 15:10:16 InnoDB: Initializing buffer pool, size = 128.0M
171113 15:10:16 InnoDB: Completed initialization of buffer pool
171113 15:10:16 InnoDB: highest supported file format is Barracuda.
171113 15:10:16  InnoDB: Waiting for the background threads to start
171113 15:10:17 InnoDB: 5.5.55 started; log sequence number 372846067942
mysqld: Too many arguments (first extra is 'stop').
Use --verbose --help to get a list of available options
171113 15:10:17 [ERROR] Aborting

171113 15:10:17  InnoDB: Starting shutdown...
171113 15:10:17  InnoDB: Shutdown completed; log sequence number 372846067942
171113 15:10:17 [Note] mysqld: Shutdown complete

171113 18:44:53 [Note] Plugin 'FEDERATED' is disabled.
171113 18:44:53 InnoDB: The InnoDB memory heap is disabled
171113 18:44:53 InnoDB: Mutexes and rw_locks use GCC atomic builtins
171113 18:44:53 InnoDB: Compressed tables use zlib 1.2.7
171113 18:44:53 InnoDB: Using Linux native AIO
171113 18:44:53 InnoDB: Initializing buffer pool, size = 128.0M
171113 18:44:53 InnoDB: Completed initialization of buffer pool
171113 18:44:53 InnoDB: highest supported file format is Barracuda.
171113 18:44:53  InnoDB: Waiting for the background threads to start
171113 18:44:54 InnoDB: 5.5.55 started; log sequence number 372846067942
mysqld: Too many arguments (first extra is 'start').
Use --verbose --help to get a list of available options
171113 18:44:54 [ERROR] Aborting

171113 18:44:54  InnoDB: Starting shutdown...
171113 18:44:55  InnoDB: Shutdown completed; log sequence number 372846067942
171113 18:44:55 [Note] mysqld: Shutdown complete

So at least the mysqld command shows an error... But I'm being none the wiser.

Short recap

  • service mysql restart does nothing
  • mysqld gives a console output but stops immediately and throws an error (error logs shown above)

Can anyone point me in the right direction to figure out how to:

  • Restart my mysql server process through the preffered "service way"
  • Avoid this from happening in the future

Edit: some progress

I have been playing around a bit and found a crude way to get it running, for now. After creating the mysqld folder at /var/run/mysqld the command mysqld works. But this feels terribly badly hacky and I have to recreate the mysqld folder in /var/run at each server reboot.

After I created the mysqld folder in /var/run I get the following output: root@id93401-vps002:~# mysqld

171113 20:31:30 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
171113 20:31:30 [Note] mysqld (mysqld 5.5.55-0+deb7u1) starting as process 2048 ...

This at least keeps the site afloat for now. I am currently keeping mysql up with nohup mysqld.

My config file at /etc/mysql/my.cnf

# GNU nano 2.2.6                  File: my.cnf                                            
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
  GNU nano 2.2.6                  File: my.cnf                                            
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
  GNU nano 2.2.6                  File: my.cnf                                            
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html

# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 127.0.0.1
#
# * Fine Tuning
#
key_buffer              = 16M
max_allowed_packet      = 16M
thread_stack            = 192K
thread_cache_size       = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched                                                         myisam-recover-options  = BACKUP
#max_connections        = 100
#table_cache            = 64
#thread_concurrency     = 10
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!                                            #general_log_file        = /var/log/mysql/mysql.log
#general_log             = 1
#
# Error log - should be very few entries.
#
log_error = /var/log/mysql/error.log
#
# Here you can see queries with especially long duration
#slow_query_log = 1
#slow_query_log_file = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about                #       other settings you may need to change.
#server-id              = 1
#log_bin                        = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size         = 100M
#binlog_do_db           = include_database_name
#binlog_ignore_db       = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#                                                                                         # Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem



[mysqldump]
quick
quote-names
max_allowed_packet      = 16M                                                             
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition

[isamchk]
key_buffer              = 16M

#
# * IMPORTANT: Additional settings that can override those from this file!
#   The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
| improve this question | | | | |
  • Can you post a my.cnf file? I had strangers errors and the root cause in my case was a wrong line-break in my.cnf file. – Denis Marques Nov 13 '17 at 21:11
  • @DenisMarques I have added my config file to my post. It should just be the default configuration. – Gilles Lesire Nov 14 '17 at 12:41
  • I decided to reinstall mysql, that seems to have fixed it – Gilles Lesire Nov 15 '17 at 15:10
0

The first clue posted is asking you to change key_buffer = 16M to key_buffer_size = 16M in your my.cnf.

| improve this answer | | | | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.