无法连接到Mysql服务器;Can';t创建/写入pid文件

无法连接到Mysql服务器;Can';t创建/写入pid文件,mysql,database,Mysql,Database,你好,我似乎无法连接到我的mysql服务器,我得到以下错误 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) 当我查看日志时,它显示了以下内容: 130314 12:36:16 [Note] Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Table 'plugin' is rea

你好,我似乎无法连接到我的mysql服务器,我得到以下错误

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
当我查看日志时,它显示了以下内容:

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

我在Redhat下也遇到了同样的问题,并且有切换mysql目录的步骤

service mysqld stop
mkdir /srv/mysql/
chown mysql:mysql /srv/mysql
编辑
/etc/mysql/my.cnf
并设置
datadir=/srv/mysql
&
socket=/srv/mysql/mysql.sock

如果您正在使用SELinux并最终启动服务器,则需要执行其他步骤

service mysqld start

我有mysql的示例问题。我在root权限下运行,但不知道为什么会发生此错误。问题是mysql用户没有在
/var/run/mysqld
中创建pid文件的权限。 完整日志可能如下所示:

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
因此,解决方案是将mysql用户分配到此目录:

# chown mysql:mysql /var/run/mysqld
然后启动mysqld

# service mysqld start

在某些情况下,此错误是因为我们在日志文件/var/log/mysqld.log中拥有错误的权限

chown mysql:mysql /var/run/mysqld

在错过了两个小时的高质量Netflix编程之后,我继续进行并:

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

。。。在OSX小牛上。PITA.

请注意,这是不鼓励的,因此答案应该是搜索解决方案的终点(与参考文献的另一个中途停留相比,随着时间的推移,这些参考文献往往会过时)。请考虑在这里添加一个独立的概要,保持链接作为参考。你是说?通过读取链接URL,“在启用selinux的情况下更改默认的mysql数据目录”,我pressume OP的问题是selinux的问题。更改为777当然有效(尝试过了,也成功了),但肯定有一种不太允许的方法。775?不过对我有用…本地机器,没什么好隐瞒的