2

When running the command 'sudo service mysql start' this is the output.
[FAIL] Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

Here are the steps taken to troubleshoot already:
1. Checked permissions for /var/run/mysqld, it's owned by mysql but the user is root.
2. The syslog file has been checked and gives the following,

ERROR 2002 (HY000): 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

After checking the my.cnf file the path's for the socket matched.

When running which mysql this is the output /usr/bin/mysql

Monit has recently been installed on the server as well as the port was changed to port 99.

Everything has been running fine up until now. (About a week and a half after said changes were made.)

Linode has been rebooted a couple of times to troubleshoot memory issues but to no avail. Here is some output from various commands

            user@hostname:~$ df -h
            Filesystem      Size  Used Avail Use% Mounted on
            /dev/root        24G  7.3G   16G  32% /
            devtmpfs        494M     0  494M   0% /dev
            tmpfs           100M  208K   99M   1% /run
            tmpfs           5.0M     0  5.0M   0% /run/lock
            tmpfs           250M     0  250M   0% /run/shm

            user@hostname:~$ df -i
            Filesystem      Inodes  IUsed   IFree IUse% Mounted on
            /dev/root      1556480 177140 1379340   12% /
            devtmpfs        126432   1379  125053    2% /dev
            tmpfs           126898    780  126118    1% /run
            tmpfs           126898      2  126896    1% /run/lock
            tmpfs           126898      2  126896    1% /run/shm

            user@hostname:~$ free -m
                         total       used       free     shared    buffers     cached
            Mem:           991        501        489          0         52        237
            -/+ buffers/cache:        211        779
            Swap:          255          0        255

We have ruled out the possibility of a failed mysql process that is still running with the following commands

            user@hostname:/var/run/mysqld$ ps aux | grep mysql
            user  28834  0.0  0.2   7856  2068 pts/0    S+   13:00   0:00 grep mysql
            user@hostname:/var/run/mysqld$ kill
            kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
            user@hostname:/var/run/mysqld$ kill mysql
            -bash: kill: mysql: arguments must be process or job IDs
            user@hostname:/var/run/mysqld$ kill 28834
            -bash: kill: (28834) - No such process
            user@hostname:/var/run/mysqld$ kill 7856
            -bash: kill: (7856) - No such process
            user@hostname:/var/run/mysqld$ kill 2068
            -bash: kill: (2068) - No such process
            user@hostname:/var/run/mysqld$ man kill
            user@hostname:/var/run/mysqld$ kill -l
             1) SIGHUP   2) SIGINT   3) SIGQUIT  4) SIGILL   5) SIGTRAP
             6) SIGABRT  7) SIGBUS   8) SIGFPE   9) SIGKILL 10) SIGUSR1
            11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
            16) SIGSTKFLT   17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
            21) SIGTTIN 22) SIGTTOU 23) SIGURG  24) SIGXCPU 25) SIGXFSZ
            26) SIGVTALRM   27) SIGPROF 28) SIGWINCH    29) SIGIO   30) SIGPWR
            31) SIGSYS  34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
            38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
            43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
            48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
            53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
            58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
            63) SIGRTMAX-1  64) SIGRTMAX
  • 1
    What does the error log indicate? – Derek Downey Apr 7 '16 at 0:33
  • Do a find -name mysqld.sock as su from /. – Vérace Apr 7 '16 at 0:34
  • try connecting it through mysql socket use mysql --socket=<socket_path> -uuser -ppass and see it gets connected or use mysql -uuser -ppass --protocol=TCP -Pport – Nawaz Sohail Apr 7 '16 at 12:07
  • What is in mysqld.err ? – Rick James Apr 7 '16 at 23:22
-4

You may have corruption in your database. Add the following to your my.cnf under [mysqld] file and see if mysql will start

innodb_force_recovery = 1

Increment the value as needed. See http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html

  • 3
    This should only be done after more investigation. Does the user uses innodb? What do the logs indicate? Is there a problem with innodb? – Nuno Pereira Apr 7 '16 at 0:48

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.