mysql 启动不更新pid_MySql服务器启动错误'服务器退出而不更新PID文件'

MySql服务器启动错误'服务器退出而不更新PID文件'

在Snow Leopard上,启动MySQL会出现以下错误:

服务器退出而不更新PID文件

my.cnf中

[mysqld]

port = 3306

socket = /tmp/mysql.sock

skip-external-locking

key_buffer_size = 16K

pid-file=/var/run/mysqld/mysqld.pid

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

Chinmay asked 2019-02-15T09:27:26Z

30个解决方案

253 votes

尝试找到带有后缀“.err”的日志文件,应该有更多信息。 它可能在:

/usr/local/var/mysql/your_computer_name.local.err

这可能是权限问题

检查是否有任何mysql实例正在运行

ps -ef | grep mysql

如果是,你应该停止它,或者杀死这个过程

kill -9 PID

其中PID是上一个命令输出时用户名旁边显示的数字

检查root的所有权

ls -laF / usr / local / var / mysql /

如果它是root的所有者你应该改变它mysql或your_user

sudo chown -R mysql / usr / local / var / mysql /

Tombart answered 2019-02-15T09:28:56Z

191 votes

您是否按照sudo的说明进行操作?

设置数据库以与您的用户帐户一起运行:

unset TMPDIR

mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

在另一个文件夹中设置基表,或使用其他用户运行mysqld,查看帮助sudo:

mysql_install_db --help

并查看MySQL文档:

[http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html]

[http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html]

例如,要运行用户“mysql”,您可能需要sudo:

sudo mysql_install_db ...options...

手动启动mysqld:

mysql.server start

注意:如果失败,您可能忘记运行上面的前两个步骤

svs answered 2019-02-15T09:30:24Z

125 votes

我在我的Mac机器上遇到了同样的问题(正确地遵循了dev.work.err建议的所有安装步骤)。

删除错误文件为我修复了它:

dev.work.err(_mysql:wheel是我的主人名)

这是因为dev.work.err由_mysql:wheel所有,而不是我自己的用户名。列出错误文件可能也会修复它。

ukliviu answered 2019-02-15T09:31:15Z

77 votes

重启后我遇到了同样的问题。 以下是我修复它的方法:

sudo chown -R _mysql /usr/local/var/mysql

Sam Ruberti answered 2019-02-15T09:31:41Z

30 votes

这对我有用......

检查所有正在运行的MySQL进程:

$ ps aux | grep mysql

USER PID %CPU %MEM

_mysql 5970 0.0 0.4 ...

然后使用以下命令终止上面命令中列出的所有进程:

$ sudo kill -9 [PID]

将[PID]替换为上面列表中的单个PID,例如:5970。

对第一个命令看到的所有行都这样做。

然后你可以再次启动你的MySQL服务器:

mysql.server start

mikoop answered 2019-02-15T09:32:47Z

23 votes

我的错误文件告诉我,该端口可能正被另一个进程使用,但只是运行sudo mysql.server start为我解决了这个问题。

jaredsmith answered 2019-02-15T09:33:16Z

22 votes

尝试在错误关闭后启动msql时,可能会发生此错误。

看一下mysql错误日志文件。 如果它提到“检查您是否已经使用相同的数据或日志文件还没有其他mysqld进程”,那么您需要正确关闭该进程。

查看运行mysql的进程,使用以下命令:mysql.server start

您的输出应如下所示:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

mysqld 4249 username 17u IPv4 0x7843d9d130469c0b 0t0 TCP localhost:mysql (LISTEN)

终止运行mysql的进程:mysql.server start

Kill -15向进程发送一个信号,以释放它锁定的所有资源并在之后终止进程。

现在mysql应该启动没有问题:mysql.server start

cosbor11 answered 2019-02-15T09:34:25Z

15 votes

我最近遇到过这个问题,但它之前有效,然后停止了。

这是因为我最初以root身份而不是我自己创建了_mysql。

修复是删除错误的日志文件(由_mysql拥有)。 再次启动它就通过了。

Roland Parnaso answered 2019-02-15T09:35:07Z

9 votes

对我有用的解决方案在这里:[https://serverfault.com/questions/334284/cant-create-pid-file-on-mysql-server-permission-denied]

改变我的一些权限似乎可以解决问题。 我正在使用OS X 10.8.2运行2012年中期的Macbook Air,并且使用自制软件安装了mysql。

chmod 0755 /var

chown root:wheel /var/tmp

sudo chmod 0771 /usr/local/var/mysql/*

Gabe answered 2019-02-15T09:35:43Z

9 votes

如果没有人帮助你,只需删除文件夹/usr/local/var/mysql,然后再次安装mysql brew reinstall mysql。

user3890355 answered 2019-02-15T09:36:13Z

8 votes

对我来说,修复很简单:

top

表明mysqld已经在运行了

sudo killall mysqld

然后允许该过程开始

Luke Madhanga answered 2019-02-15T09:36:56Z

7 votes

我正在使用,

全新的MacBook Pro OSX 10.7.3.x.

gcc通过OSX GCC安装程序

我使用自制软件安装MySQL('brew install mysql')。 它安装了几个依赖项,然后是mysql。

当我试图启动时,

west$ mysql.server start

Starting MySQL

.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/west.local.pid).

我跑了这个命令,

west$ /usr/local/Cellar/mysql/5.5.25/scripts/mysql_install_db

和MySQL的工作原理。

请注意,您需要从mysql目录的顶级(IE,usr / local / Cellar / mysql / 5.5.25)运行mysql_install_db。 直接在/ scripts目录中运行它并没有为它提供足够的上下文来运行它。

westonplatter answered 2019-02-15T09:38:29Z

7 votes

对我来说,解决方案是覆盖/更正/ etc / my / cnf中的数据目录。

我使用自述文件中提供的指示从源代码构建了MySQL 5.5.27:

# Preconfiguration setup

shell> groupadd mysql

shell> useradd -r -g mysql mysql

# Beginning of source-build specific instructions

shell> tar zxvf mysql-VERSION.tar.gz

shell> cd mysql-VERSION

shell> cmake .

shell> make

shell> make install

# End of source-build specific instructions

# Postinstallation setup

shell> cd /usr/local/mysql

shell> chown -R mysql .

shell> chgrp -R mysql .

shell> scripts/mysql_install_db --user=mysql

shell> chown -R root .

shell> chown -R mysql data

# Next command is optional

shell> cp support-files/my-medium.cnf /etc/my.cnf

shell> bin/mysqld_safe --user=mysql &

# Next command is optional

shell> cp support-files/mysql.server /etc/init.d/mysql.server

mysqld_safe在没有解释的情况下终止了自己。 运行/etc/init.d/mysql.server start导致错误:

“服务器退出而不更新PID文件”

我注意到安装说明中有些奇怪的东西。 它的所有权已更改为mysql的目录“data”,但不是“var”; 这是不寻常的,因为多年来我必须确保var目录是mysql可写的。 所以我手动运行chown -R mysql /usr/local/mysql/var,然后尝试再次启动它。 仍然没有运气。 但更糟糕的是,var目录中没有.err文件 - 它位于“数据”目录中! 所以scripts / mysql_install_db在/ usr / local / mysql / var中设置了camp,但是应用程序的其余部分似乎想在/ usr / local / mysql / data中完成它的工作!

所以我刚编辑了/etc/my.cnf并在[mysqld]部分下面添加了一个指令,明确地将mysql的数据目录指向var(正如我通常所期望的那样),并且在这样做之后,mysqld启动了 精细。 要添加的指令如下所示:

datadir = / usr / local / mysql / var

为我工作。 希望它对你有所帮助。

SKelly answered 2019-02-15T09:40:17Z

6 votes

尝试在MacOS X 10.7.5上进行升级时,我遇到了这个问题。

不幸的是,mysql也从5.5.14升级到5.6.10。 尝试新的,没有工作。

我决定回到原来的设置并做了一个

brew switch mysql 5.5.14

这并没有解决问题。 在其他地方,我读到并做了这个,瞧! 一切都回来了:)

cd /usr/local/var/mysql

mv ib_logfile0 ib_logfile0.bak

mv ib_logfile1 ib_logfile1.bak

cenk answered 2019-02-15T09:41:17Z

6 votes

尝试删除ib_logfile0和ib_logfile1文件,然后再次运行mysql

rm /usr/local/var/mysql/ib_logfile0

rm /usr/local/var/mysql/ib_logfile1

这个对我有用。

user3890355 answered 2019-02-15T09:42:07Z

5 votes

以安全模式启动Mysql

/usr/local/mysql/bin/mysqld_safe start

要么

在MAC上任何mysql或mysqld任务(或其他)在您的活动监视器应用程序中。

或者检查你的错误

tail -f /usr/local/mysql/data/XXXXX-XXXXX-Pro.local.err

Saurabh Chandra Patel answered 2019-02-15T09:43:08Z

4 votes

似乎MySQL进程正在运行,因此您无法使用该端口。 您可以使用以下命令检查正在运行的MySQL进程:

ps auxf | grep mysql

如果你得到任何MySQL进程使用kill -9 PID终止该进程ID,然后尝试启动MySQL。

colin2328 answered 2019-02-15T09:43:56Z

4 votes

在我的情况下,由于访问错误日志文件的问题而发生错误。

以下两个命令可以帮助我解决问题。

sudo chown /usr/local/var/mysql/.err

sudo chmod 666 /usr/local/var/mysql/.err

FrankSu answered 2019-02-15T09:44:38Z

3 votes

我希望这对你有用。

检查错误日志后,我发现了这个:

120309 17:42:49 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

120309 17:42:50 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive

120309 17:42:50 [Warning] You need to use --log-bin to make --binlog-format work.

120309 17:42:50 [Note] Plugin 'FEDERATED' is disabled.

120309 17:42:50 InnoDB: The InnoDB memory heap is disabled

120309 17:42:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins

120309 17:42:50 InnoDB: Compressed tables use zlib 1.2.3

120309 17:42:50 InnoDB: Initializing buffer pool, size = 16.0M

120309 17:42:50 InnoDB: Completed initialization of buffer pool

120309 17:42:50 InnoDB: Operating system error number 13 in a file operation.

InnoDB: The error means mysqld does not have the access rights to

InnoDB: the directory.

InnoDB: File name /usr/local/mysql/data/ib_logfile0

InnoDB: File operation call: 'open'.

InnoDB: Cannot continue operation.

120309 17:42:50 mysqld_safe mysqld from pid file /usr/local/mysql/data/lu1s.local.pid ended

为了解决这个问题,我给了整个mysql文件夹的所有权:

cd /usr/local

sudo chown mysql mysql

sudo chown mysql mysql-5.5.21-osx10.6-x86_64

sudo chown _mysql mysql

sudo chown _mysql mysql-5.5.21-osx10.6-x86_64

然后(你也可以使用命令行),我将权限(一旦我将所有权交给_mysql和mysql用户)应用于/ usr / local / mysql文件夹的“获取信息”菜单中的所有封闭文件夹 -5.5.21-osx10.6-x86_64。 你不需要知道别名,因为它只是一个别名。

文件夹的名称取决于您拥有的mysql的安装版本。

lu1s answered 2019-02-15T09:45:39Z

3 votes

有同样的问题,对我来说,它是在先前安装mysqld运行时进行brew删除。 似乎brew在卸载之前不会停止服务。

在检查.err文件后,我看到在终止旧服务后,可能正在运行另一个mysql副本的记录错误。 然后我能够重新启动新的mysql安装。

Nudge answered 2019-02-15T09:46:24Z

3 votes

试试这个..

导航到问题的父目录mysql.server start

mysql.server start(删除文件)

mysql.server start(生成新的* .local.pid文件,抛出的错误正在抱怨)

cd回到你的项目并使用mysql.server start重启mysql

Nick Sarafa answered 2019-02-15T09:47:34Z

3 votes

在这里发布的一些答案的帮助下,我找到了问题

首先,我跑

chown -R _mysql /var/log/mysql

所以我可以拥有root权限。

比我删除了xxxx.err文件

chown -R _mysql /var/log/mysql

在安全模式下启动MySQL之后

chown -R _mysql /var/log/mysql

它将尝试启动并将因错误而退出...将创建一个新的xxx.err文件,您需要读取它以查看错误原因

chown -R _mysql /var/log/mysql

在我的情况下,由于某种原因,它丢失了chown -R _mysql /var/log/mysql文件夹中的一些文件夹和文件...所以我创建了两个

chown -R _mysql /var/log/mysql

chown -R _mysql /var/log/mysql

chown -R _mysql /var/log/mysql

创建新文件后,您需要更改权限

chown -R _mysql /var/log/mysql

当采取所有这些步骤时,我的数据库立即开始工作......

希望这可以帮助其他人...关键是阅读错误和日志,发现什么是错的...

Paulo Griiettner answered 2019-02-15T09:49:55Z

2 votes

错误日志说的是什么? 我收到了这个错误,它最终成为my.cnf中的一个旧的无效设置,mysql错误日志表明了这一点。 如果配置设置不正确,错误日志应该至少指向正确的方向。

好吧,我认为OP已经修复了这一点......但希望这可以指出其他人在正确的方向上看到这个错误。

Brian Ray answered 2019-02-15T09:50:35Z

2 votes

我有同样的问题。 移动我的/etc/my.cnf文件为我工作。 我在这里得到了这些信息

Nealv answered 2019-02-15T09:51:07Z

2 votes

简单....

修复2002 MySQL Socket错误

修复了迫在眉睫的2002套接字错误 - 这是MySQL放置套接字的位置和OSX认为它应该在哪里,MySQL将它放在/ tmp中,OSX在/ var / mysql中查找它,套接字是一种允许mysql客户端的文件 /服务器通信。

sudo mkdir / var / mysql

sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

做得好 : )

这帮我很多!我从[http://coolestguidesontheplanet.com/]上的人那里拿了这本指南

carloslozada answered 2019-02-15T09:52:34Z

2 votes

问题是权限一,它无法启动,因为它无法写入mac.err,因为它由其他人拥有。

确保/ usr / local / var / mysql文件夹归启动mysql的用户所有。 如果我启动mysql作为杰克它一切都很好。 但是,如果你以root用户身份启动它,它将创建一个千万不能写入的mac.err(由root拥有)文件,因此当你尝试重新启动它时,它将失败。

确保文件夹和文件归运行mysql.server start的用户所有

确保其他人不拥有mac.err或mac.pid。

Start是正确的用户。

Jack Sukerman answered 2019-02-15T09:53:38Z

1 votes

我试图重新安装mysql,我实际上忘了从旧安装中停止服务器。 为了解决这个问题,ps -ax | grep mysql,然后是kill [whatever PIDs].但是,再一次,它对每个人来说都是不同的。 像其他答案一样,请转到/usr/local/var/mysql/并检查您的.err日志文件。

Oliver answered 2019-02-15T09:54:11Z

1 votes

检查驱动器中是否还有空间。 当我的驱动器中没有剩余空间时,我遇到了这个问题。

thavan answered 2019-02-15T09:54:45Z

1 votes

在我的情况下,当我尝试启动MySQL时,我收到了同样的错误:The server quit without updating PID file.这是我做的修复它(使用终端):

goto /usr/local/var/mysql

sudo rm -rf hostname.err # Delete .err file

cd /usr/local/mysql/support-files

sudo mysql.server start # Success!

Shane Zhao answered 2019-02-15T09:55:19Z

1 votes

删除你在错误中显示的目录中找到的* .err文件并创建mysql文件是抱怨,重启mysql。

desveladisimo answered 2019-02-15T09:55:51Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值