繁体   English   中英

启动pid-file的MySQL.Manager退出而不更新fi错误

[英]Starting MySQL.Manager of pid-file quit without updating fi error

启动mysql时出现以下错误...有人可以帮忙:

] #service mysql start启动pid-file的MySQL.Manager退出而不更新fi [FAILED]以下是我的my.cnf文件...

** my.cnf文件 ** * **

的[mysqld]
DATADIR =的/ var / lib中/ MySQL的
插座=的/ var / lib中/ MySQL的/的mysql.sock
用户= MySQL的

table_cache = 2048
innodb_buffer_pool_size = 2G
innodb_file_per_table
innodb_log_buffer_size = 8M
innodb_log_file_size = 128M
innodb_additional_mem_pool_size = 4M
innodb_table_locks = 0
默认存储引擎= InnoDB的
join_buffer_size = 2M
query_cache_size = 512M
query_cache_limit = 2M
sort_buffer_size = 8M
read_buffer_size = 8M
read_rnd_buffer_size = 4M
key_buffer = 512M
key_buffer_size = 256M
max_allowed_pa​​cket = 16M
max_connections = 250
long_query_time = 5
log_slow_queries = ekb-qa-app-02-slow.log
innodb_autoinc_lock_mode = 2

[mysqld_safe的]
对数误差=的/ var /数/ mysqld.log
PID文件= / var / run中/ mysqld的/ mysqld.pid

我收到了完全相同的错误......最终误导了我。 问题(至少对我而言)最终导致我已经将磁盘填满了容量。 尝试df -h ,看看你是否有足够的能力。 希望有所帮助,而且这个错误也是由你造成的(因为它很容易修复:))。

这可能是由于两个原因:

  1. mysqld正在尝试将日志写入磁盘,该磁盘已满。
  2. mysqld正在尝试将日志写入文件,但它没有适当的权限。

尝试直接运行mysqld_safe ,看看错误消息是否更具体地说明了您的问题。 这样我就能够意识到我的日志文件有权限问题。

对我来说,问题是对mysql数据文件的权限不足。 数据过滤以root身份从另一个文件系统复制。 一旦我将文件的组和所有权更改为mysql:mysql,错误就消失了。

/etc/init.d/mysql [d]启动脚本也可以通过打印重叠的错误消息来超越自己,但您最终只能看到一个。 您可能还会在脚本输出的中间看到“ [FAILED] ”或“ [OK] ”重叠,其中一些甚至可能取决于您使用的确切终端软件。

与此同时,在我的情况下,真正的错误被埋没在下面:

Manager of pid-file quit wi[FAILED]dating file

我终于仔细查看了我的mysqld错误日志,发现了真正的问题:

/usr/sbin/mysqld: File 'MASTER/master15-bin.index' not found (Errcode: 2)

与此处的其他类似情况一样,问题来自于从不同主机复制整个/ var / lib / mysql目录。 这里我设置了一个新的复制服务器,所以当然/etc/my.cnf中的MASTER和SLAVE变量是不同的。 我的主binlogs位于MASTER子目录中。

一旦我把它清理干净,一切都很好。

所以这个“ pid文件退出管理器 ”错误是另一个红鲱鱼。 我只是在这里添加这个故事再次显示(1)答案可能在于您的错误日志,并且(2)可能与您从mysqld_safe看到的此错误无关。

我只是在下面的语句中添加了sudo命令,并启动了mysql。

$ sudo /etc/rc.d/init.d/mysql start

输入密码: 启动MySQL。 我通过发出以下命令检查并发现MySQL正在运行:

$ mysqladmin -u root -pjoomla1 ping

mysqld还活着

对我来说问题是多个my.cnf文件放在服务器中,删除其中一个(错误的文件)帮我解决了这个问题

如果你自己的分区上有mysql(例如/ var / lib / mysql),请确保它没有变为只读。 为此,尝试在该分区中创建(触摸)文件。 如果它已经变为只读,它会让你知道,你需要在该分区上运行手动fsck。 首先确保没有正在运行的进程(lsof / var / lib / mysql | awk'{print $ 1}'| sort | uniq -c | awk'{print $ 2}')然后在fscking之前卸载分区。

这是我在使用my.cnf配置文件后注意到的,以尝试最佳性能。

如果我将innodb_log_file_size设置为错误值并尝试重新启动mysql服务器,它会关闭,但是当它尝试启动时,我会得到类似于以下内容的内容:

Starting MySQL.The server quit without updating PID file ([FAILED]mysql/<insert pid file here>).

然后,当我检查错误日志以查明最新情况时,我看到了所有这些:

140709 22:47:30 mysqld_safe mysqld from pid file /var/lib/mysql/<pid filename>.pid ended
140709 22:47:31 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140709 22:47:31 [Warning] Using unique option prefix thread_cache instead of thread_cache_size is deprecated and will be removed...
140709 22:47:31 [Note] Plugin 'FEDERATED' is disabled.
140709 22:47:31 InnoDB: The InnoDB memory heap is disabled
140709 22:47:31 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140709 22:47:31 InnoDB: Compressed tables use zlib 1.2.3
140709 22:47:31 InnoDB: Using Linux native AIO
140709 22:47:31 InnoDB: Initializing buffer pool, size = 512.0M
140709 22:47:31 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 67108864 bytes!
140709 22:47:31 [ERROR] Plugin 'InnoDB' init function returned error.
140709 22:47:31 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140709 22:47:31 [ERROR] Unknown/unsupported storage engine: InnoDB
140709 22:47:31 [ERROR] Aborting

140709 22:47:31 [Note] /usr/sbin/mysqld: Shutdown complete

140709 22:47:31 mysqld_safe mysqld from pid file /var/lib/mysql/<pid filename>.pid ended

除了我用“pid filename”替换pid文件名。

网站认为你可以将innodb_log_file_size设置为一个值,但有些东西试图告诉我这是一个mysql服务器计算的值和你无法设置的东西。

这个建议也会有帮助。 删除以下列表,以便DEFAULTS可以支持my.cnf / .ini sort_buffer_size read_buffer_size read_rnd_buffer_size join_buffer_size的[mysqld]部分的工作,以改善(减少)响应时间。 当您可以使用DEFAULT为256K获取所需数据时,为什么要有意读取16M的read_rnd_buffer_size数据?

我认为它将通过哈希query_cache修复

你没有提到你在这里使用什么系统。 对于CentOS,Fedora和Red Hat Enterprise Linux,使用服务mysqld而不是mysql

    sudo /etc/init.d/mysqld start

我相信问题可能出在my.cnf文件中找到的变量“performance_schema”。 应该注释掉这个变量。 试试看。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM