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

时间:2015-12-09 10:46:42

标签: mysql

在OSX El Capitan上安装MySQL。 10.11.2通过Homebrew 接下来我想开始吧:

  Nevada3:local kb1$ mysql.server start
    Starting MySQL
    .. ERROR! The server quit without updating PID file     (/usr/local/var/mysql/Nevada3.local.pid).

接下来我检查了权限:

    Nevada3:mysql kb1$ cd /usr/local/var/mysql/
    Nevada3:mysql kb1$ ls -lsa
    total 221296
    0 drwxr-xr-x   19 kb1  admin       646  9 Dec 11:40 .
    0 drwxr-xr-x    6 kb1  admin       204  9 Dec 11:36 ..
   32 -rw-r-----    1 kb1  admin     15184  9 Dec 11:40 Nevada3.local.err
    8 -rw-r-----    1 kb1  admin        56  9 Dec 11:36 auto.cnf
    8 -rw-------    1 kb1  admin      1676  9 Dec 11:36 ca-key.pem
    8 -rw-r--r--    1 kb1  admin      1071  9 Dec 11:36 ca.pem
    8 -rw-r--r--    1 kb1  admin      1079  9 Dec 11:36 client-cert.pem
    8 -rw-------    1 kb1  admin      1680  9 Dec 11:36 client-key.pem
    8 -rw-r-----    1 kb1  admin       303  9 Dec 11:40 ib_buffer_pool
    98304 -rw-r-----    1 kb1  admin  50331648  9 Dec 11:40 ib_logfile0
    98304 -rw-r-----    1 kb1  admin  50331648  9 Dec 11:36 ib_logfile1
    24576 -rw-r-----    1 kb1  admin  12582912  9 Dec 11:40 ibdata1
    0 drwxr-x---   77 kb1  admin      2618  9 Dec 11:36 mysql
    0 drwxr-x---   90 kb1  admin      3060  9 Dec 11:36 performance_schema
    8 -rw-------    1 kb1  admin      1680  9 Dec 11:36 private_key.pem
    8 -rw-r--r--    1 kb1  admin       452  9 Dec 11:36 public_key.pem
    8 -rw-r--r--    1 kb1  admin      1079  9 Dec 11:36 server-cert.pem
    8 -rw-------    1 kb1  admin      1676  9 Dec 11:36 server-key.pem
    0 drwxr-x---  108 kb1  admin      3672  9 Dec 11:36 sys
    Nevada3:mysql kb1$

但这似乎是正确的。一切都是我的用户。而不是根。

这是错误日志的输出:

Nevada3:mysql kb1$ tail Nevada3.local.err
2015-12-09T10:40:45.576656Z 0 [Note] InnoDB: Shutdown completed; log sequence number 2471965
2015-12-09T10:40:45.577321Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2015-12-09T10:40:45.577335Z 0 [Note] Shutting down plugin 'MEMORY'
2015-12-09T10:40:45.577341Z 0 [Note] Shutting down plugin 'CSV'
2015-12-09T10:40:45.577346Z 0 [Note] Shutting down plugin 'sha256_password'
2015-12-09T10:40:45.577350Z 0 [Note] Shutting down plugin 'mysql_native_password'
2015-12-09T10:40:45.577470Z 0 [Note] Shutting down plugin 'binlog'
2015-12-09T10:40:45.577946Z 0 [Note] /usr/local/Cellar/mysql/5.7.9/bin/mysqld: Shutdown complete

151209 11:40:45 mysqld_safe mysqld from pid file /usr/local/var/mysql/Nevada3.local.pid ended

我完全迷失了。从来没有经历过这个..

2 个答案:

答案 0 :(得分:1)

我有同样的问题。升级到10.11.2后,Mysql无法启动。

之后再次工作:

sudo chown -R `whoami` /usr/local/var/mysql
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak
[move the .err logfile to a new location]

不确定是否需要所有这些。

修改

创建.bak文件的快捷方式:

for i in $(ls *.err *logfile*); do mv $i{,.bak}; done

答案 1 :(得分:0)

我刚刚以下列方式解决了这个问题:

    在终端cd中
  • 到pid尝试的目录,在这种情况下,这是cd /usr/local/var/mysql/
  • 键入ls以查看此目录中的文件,应该有一个错误的文件(这会阻止pid,从而阻止启动)
  • 删除错误文件,很可能是使用' .err'来命名pid的名称。而不是' .pid'延期。在您的情况下,我认为它将是:rm -rf Nevada3.local.err
  • mysql.server start

这些步骤对我有用。根据我的理解,这是因为mysql服务器在更新期间运行,最终导致错误创建错误文件,阻止在成功更新时启动。我认为在更新之前立即停止mysql将来会阻止此问题。您当然必须在更新后重新启动mysql,但不需要查找和删除.err文件。