Can't start mysqld/mysql

Viewed 28602

first I have to say I'm a mysql newbie. Basically mysql does not start and says:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysql.sock' (2)

Now Here are the steps with which I ruined everything:

Due to it was not possible to log into my system (otrs) I thought a restore of an older backup would help.

While the restore process the backup manager said I need to drop the old db. I tried it but the process did not finish and so I cancelled it.

After this I tried to reboot the system but had huge problems with this but when I finished the reboot I tried to run mysql but it said it could not find the mysql.socket.

At this point I thought it would be better to reinstall mysql and did so but this did not help. When trying to start mysqld as mysql user it said:

[ERROR] Found 1 prepared transactions! It means that mysqld was not shut down properly last time and critical recovery information (last binlog or tc.log file) was manually deleted after a crash. You have to start mysqld with --tc-heuristic-recover switch to commit or rollback pending transactions. 

trying both did not help:

mysql:/root> /usr/sbin/mysqld  --tc-heuristic-recover commit
131213 16:46:00 InnoDB: The InnoDB memory heap is disabled
131213 16:46:00 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131213 16:46:00 InnoDB: Compressed tables use zlib 1.2.7
131213 16:46:00 InnoDB: Using Linux native AIO
131213 16:46:00 InnoDB: Initializing buffer pool, size = 128.0M
131213 16:46:00 InnoDB: Completed initialization of buffer pool
131213 16:46:00 InnoDB: highest supported file format is Barracuda.
131213 16:46:01  InnoDB: Waiting for the background threads to start
131213 16:46:02 Percona XtraDB (http://www.percona.com) 5.5.33-MariaDB-31.1 started; log sequence number 3710898915
131213 16:46:02 [Note] Server socket created on IP: '0.0.0.0'.
131213 16:46:02 [ERROR] Event Scheduler: Failed to open table mysql.event
131213 16:46:02 [ERROR] Event Scheduler: Error while loading from disk.
131213 16:46:02 [Note] Event Scheduler: Purging the queue. 0 events
131213 16:46:02 [ERROR] Aborting

131213 16:46:02  InnoDB: Starting shutdown...
131213 16:46:03  InnoDB: Shutdown completed; log sequence number 3710898915
131213 16:46:03 [Note] /usr/sbin/mysqld: Shutdown complete

Running systemctl start mysql.service fails anytime:

mysql.service - LSB: Start the MySQL database server
          Loaded: loaded (/etc/init.d/mysql)
          Active: failed (Result: timeout) since Fri, 13 Dec 2013 16:27:12 +0100; 23min ago
         Process: 8845 ExecStart=/etc/init.d/mysql start (code=killed, signal=TERM)
          CGroup: name=systemd:/system/mysql.service

Dec 13 16:31:21  mysql[8845]: otrs.user_preferences                              OK
Dec 13 16:31:21  mysql[8845]: otrs.users                                         OK
Dec 13 16:31:21  mysql[8845]: otrs.valid                                         OK
Dec 13 16:31:21  mysql[8845]: otrs.virtual_fs                                    OK
Dec 13 16:31:21  mysql[8845]: otrs.virtual_fs_db                                 OK
Dec 13 16:31:21  mysql[8845]: otrs.virtual_fs_preferences                        OK
Dec 13 16:31:21  mysql[8845]: otrs.web_upload_cache                              OK
Dec 13 16:31:21  mysql[8845]: otrs.xml_storage                                   OK
Dec 13 16:31:21  mysql[8845]: performance_schema
Dec 13 16:31:21  mysql[8845]: Phase 3/3: Running 'mysql_fix_privilege_tables'...

I have absolutely no clue what to do. Could anyone help me? How can the otrs tables been droped/deleted without using the mysql DROP command? Would this help anyway?

Thank you.

6 Answers

Answer from ->> https://www.youtube.com/watch?v=qr-t8ksYO78

go to my.cnf file, note that you will find multiple my.cnf file, i had to look at all of them to find this->

 # The MySQL server
    [mysqld]
    user = mysql
    port=3306
    socket      = /opt/lampp/var/mysql/mysql.sock

Copy the socket path and writ it like ->

mysql -u root -p --socket=/opt/lampp/var/mysql/mysql.sock 

Thanks

If any of the above doesn't work for you.

  1. Edit mysql config file by doing the below: sudo nano /etc/mysql/my.cnf and add tc-heuristic-recover=rollback under [mysqld]

  2. Try to start mysql/mariadb server by sudo systemctl start mysqld.service and it should fail with this error Can't init tc log.

  3. Don't worry, just edit the config file again and comment tc-heuristic-recover=rollback

  4. Try to start the mysql server again with sudo systemctl start mysqld.service and it should work fine.

  5. Check the status to confirm systemctl status mysqld.service

You can try this command that I use Centos 7 that is work:

#mysqld_safe --wsrep-recover --tc-heuristic-recover=ROLLBACK

and then restart a service again.

Related