【MySQL 5.7.19】The server quit without updating PID file (/data/db/mysql/3306/mysql.pid).[FAILED]
xixuefeng
MySQL, MySQL-Install
2017-09-04 16:56:22
1,165 次浏览
【MySQL 5.7.19】The server quit without updating PID file (/data/db/mysql/3306/mysql.pid).[FAILED]已关闭评论
题目中提到的错误可能有很多种情况造成,随便百度一下,无非是权限属主之类的问题造成的。今天作者在阿里云上部署MySQL 5.7,在启动时也遇到了这样的错误,但是问题是出在这里:
https://tools.percona.com/wizard
这个网址是percona提供的配置mysql参数的工具,按照具体的情况,可以配置出一个相对较完美的参数文件。在我使用的时候,这个网址默认的5.6版本,我将其改为了5.7按照网站提示,可以很方便的生成一套参数文件。如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
[mysql] # CLIENT # port = 3306 socket = /data/db/mysql/3306/mysql.sock [mysqld] # GENERAL # user = mysql default-storage-engine = InnoDB socket = /data/db/mysql/3306/mysql.sock pid-file = /data/db/mysql/3306/mysql.pid # MyISAM # key-buffer-size = 32M myisam-recover = FORCE,BACKUP # SAFETY # max-allowed-packet = 16M max-connect-errors = 1000000 # DATA STORAGE # datadir = /data/db/mysql/3306/ # BINARY LOGGING # log-bin = /data/db/mysql/3306/mysql-bin expire-logs-days = 14 sync-binlog = 1 # REPLICATION # relay-log = /data/db/mysql/3306/relay-bin slave-net-timeout = 60 # CACHES AND LIMITS # tmp-table-size = 32M max-heap-table-size = 32M query-cache-type = 0 query-cache-size = 0 max-connections = 500 thread-cache-size = 50 open-files-limit = 65535 table-definition-cache = 1024 table-open-cache = 2048 # INNODB # innodb-flush-method = O_DIRECT innodb-log-files-in-group = 2 innodb-log-file-size = 256M innodb-flush-log-at-trx-commit = 1 innodb-file-per-table = 1 innodb-buffer-pool-size = 12G # LOGGING # log-error = /data/db/mysql/3306/mysql-error.log log-queries-not-using-indexes = 1 slow-query-log = 1 slow-query-log-file = /data/db/mysql/3306/mysql-slow.log |
当全新安装的mysql使用了这个参数文件,那么就会提示题目中描述的错误。我查了好一会儿,终于知道问题出在哪里了。
myisam-recover这个参数,在5.7中是myisam_recover_options ,改正确即可。
本人对mysql只是略知一二,至于myisam-recover从什么版本后叫myisam_recover_options,作者本人未深入的再研究。
另:有人可能会问,在启动的时候看日志不就行了嘛,日志中应该明确的记录了这个错误了吧。
如果已经生成日志了,那么有可能会在日志中查看的到。
问题是,如果是全新安装的mysql,直接用这个参数启动的话,连日志都生成不了,真的是没地儿很清楚的看到这个错误。