Nauman Bashir
Nauman Bashir

Reputation: 1752

Cant connect to Mysql server ; Can't create/write the pid file

Hello I cant seem to connect to my mysql server, i get the following error

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

when i checked the logs , it showed me the following :

130314 12:36:16 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Table 'plugin' is read only
130314 12:36:16 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
130314 12:36:16  InnoDB: Initializing buffer pool, size = 8.0M
130314 12:36:16  InnoDB: Completed initialization of buffer pool
130314 12:36:16  InnoDB: Started; log sequence number 13 1336891001
130314 12:36:16 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/lib/mysql/live.pid' (Errcode: 13)
130314 12:36:16 [ERROR] Can't start server: can't create PID file: Permission denied

Upvotes: 7

Views: 36919

Answers (4)

Sumit
Sumit

Reputation: 71

I had the same problem under Redhat and this page had the steps to switch the mysql directory.

service mysqld stop
mkdir /srv/mysql/
chown mysql:mysql /srv/mysql

edit /etc/mysql/my.cnf and set datadir=/srv/mysql & socket=/srv/mysql/mysql.sock

Additional steps are required if you are using SELinux and then finally start the server

service mysqld start

Upvotes: 4

Darth Jon
Darth Jon

Reputation: 423

After 2 hours of missing quality Netflix programming I just went ahead and:

chmod -R 777 /usr/local/mysql
chmod -R 777 /usr/local/mysql-5.6.19-osx10.7-x86_64

... on OSX Mavericks. PITA.

Upvotes: 0

Luis Sanchez
Luis Sanchez

Reputation: 21

In some cases, this error is because we have wrong permissions in log file /var/log/mysqld.log

chown mysql:mysql /var/run/mysqld

Upvotes: 2

Khai Nguyen
Khai Nguyen

Reputation: 3061

I had sample problem with mysql. I run under root permission but don't known why this error happen. The problem is mysql user don't have permission to create pid file in /var/run/mysqld. Full log could look like:

140812 09:35:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140812  9:35:53  InnoDB: Initializing buffer pool, size = 8.0M
140812  9:35:53  InnoDB: Completed initialization of buffer pool
140812  9:35:53  InnoDB: Started; log sequence number 0 197396648
140812  9:35:53 [ERROR] /usr/libexec/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13)
140812  9:35:53 [ERROR] Can't start server: can't create PID file: Permission denied
140812 09:35:53 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

So the solution is assign mysql user to this directory:

# chown mysql:mysql /var/run/mysqld

and then start mysqld

# service mysqld start

Upvotes: 13

Related Questions