Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

improper killing of mysqld - now not starting

Tags:

mysql

kill

I stopped mysqld by killing the process id, and then deleted mysqld.sock file also. Now, mysqld is not starting.

I know there is some data corruption. But now I need to start MySQL without re-installing it.

Below are the logs that generated.


    InnoDB: using the same InnoDB data or log files.
    InnoDB: Unable to lock ./ibdata1, error: 11
    InnoDB: Check that you do not already have another mysqld process
    InnoDB: using the same InnoDB data or log files.
    140107  8:27:43  InnoDB: Unable to open the first data file
    InnoDB: Error in opening ./ibdata1
    140107  8:27:43  InnoDB: Operating system error number 11 in a file operation.
    InnoDB: Error number 11 means 'Resource temporarily unavailable'.
    InnoDB: Some operating system error numbers are described at
    InnoDB: http://dev.mysql.com/doc/refman/5.1/en/operating-system-error-codes.html
    InnoDB: Could not open or create data files.
    InnoDB: If you tried to add new data files, and it failed here,
    InnoDB: you should now edit innodb_data_file_path in my.cnf back
    InnoDB: to what it was, and remove the new ibdata files InnoDB created
    InnoDB: in this failed attempt. InnoDB only wrote those files full of
    InnoDB: zeros, but did not yet use them in any way. But be careful: do not
    InnoDB: remove old data files which contain your precious data!
    140107  8:27:43 [ERROR] Plugin 'InnoDB' init function returned error.
    140107  8:27:43 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
    140107  8:27:43 [ERROR] /usr/libexec/mysqld: unknown option '--ndbcluster'
    140107  8:27:43 [ERROR] Aborting

    140107  8:27:43 [Note] /usr/libexec/mysqld: Shutdown complete

    140107 08:27:43 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

like image 562
Nikhil Avatar asked Jul 19 '14 13:07

Nikhil


1 Answers

You need to restore the innodb data files.

# cd /var/lib/mysql
# mkdir bak
# mv ibdata1 bak/
# mv ib_logfile* bak/
# cp -a bak/ibdata1 ibdata1
# cp -a bak/ib_logfile* .
# rm -rf bak
# service mysqld restart

Reference: http://notesonit.blogspot.hk/2013/05/innodb-unable-to-lock-ibdata1-error-11.html

like image 72
Chris Lam Avatar answered Nov 15 '22 21:11

Chris Lam