Linux MySQL – Troubleshooting MySQL Not Starting on Linux

linuxMySQL

I need to run MySQL service for my linux 2.16 version with SUSE version 11 distribution.
Downloaded the following files and installed all the rpms as under:

MySQL-server-5.5.27-1.sles11.i586
MySQL-client-5.5.27-1.sles11.i586
MySQL-devel-5.5.27-1.sles11.i586
MySQL-shared-5.5.27-1.sles11.i586
MySQL-shared-compat-5.5.27-1.sles11.i586

There was no error during installation and I have confirmed the installed packages via:

rpm -qa|grep -i sql

But the server is not getting started when trying to execute through:

$> mysql

M getting the following as eror msg:

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

I have checked that in the /etc/init.d location, only mysql entry is there instead of mysqld, is this the reason of the server startup error.

On googling for hours, I have also tried ./mysql start from the same location but getting the following output:

Starting MySQL..The server quit without updating PID file (/var/lib/mysql/ABC2-rahul.pid).

I am new to mysql, any help will be appreciated. Thanks in advance.


I have cheked and found that some configuration files have been in the /usr/share/mysql loaction, and I have copied my-huge.cnf file to /etc location, any comments ?

Following is the content from the same my.cnf file:

[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M

thread_concurrency = 8

log-bin=mysql-bin

server-id       = 1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

Best Answer

Have you tried starting the mysql service? Run this as root:

service mysql start

or

/etc/init.d/mysql start 

If it still doesn't work try one of the following. All these commands should be run as root:

  • Rename your my.cnf file. That will force mysql to create a new one:

    mv /etc/my.cnf /etc/my.cnf.old
    
  • Make sure your permissions are set up correctly:

    chown -R mysql /var/lib/mysql
    

    Change /var/lib/mysql to the appropriate path of your mysql installation is somewhere else.

The solutions here may also be helpful.

Related Question