mysqld 无法启动

mysqld 无法启动

这是我尝试启动 mysql 服务器时收到的错误:

    # mysqld start
    130105  8:51:28 [Note] Plugin 'FEDERATED' is disabled.
    130105  8:51:28 InnoDB: The InnoDB memory heap is disabled
    130105  8:51:28 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    130105  8:51:28 InnoDB: Compressed tables use zlib 1.2.3.4
    130105  8:51:28 InnoDB: Using Linux native AIO
    130105  8:51:28 InnoDB: Initializing buffer pool, size = 128.0M
    InnoDB: mmap(135987200 bytes) failed; errno 12
    130105  8:51:28 InnoDB: Completed initialization of buffer pool
    130105  8:51:28 InnoDB: Fatal error: cannot allocate memory for the buffer pool
    130105  8:51:28 [ERROR] Plugin 'InnoDB' init function returned error.
    130105  8:51:28 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
    mysqld: Too many arguments (first extra is 'start').
    Use --verbose --help to get a list of available options
    130105  8:51:28 [ERROR] Aborting

    130105  8:51:28 [Note] mysqld: Shutdown complete

    #

在我运行 mysql_upgrade (Debian Squeeze) 后,这种情况开始发生。当我尝试初始化 mysql 时,下一部分也会发生:

    Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

有人能解释一下这一点吗?以及我如何才能正常启动 mysqld 并重新运行我的网站?

答案1

InnoDB 无法为内存池分配足够的内存。如果 innodb_buffer_pool_size 的设置不够高,请检查配置。

答案2

没关系,这与 /etc/mysql/debian.cnf 中的用户/密码混淆有关。看起来我安装的内容改变了这些值,但对于那些曾经遇到过同样问题的人,请确保 debian.cnf 中的值与您想要用于您的内容的用户/密码值相同。加密它不会有什么坏处,但 debian.cnf 总体上是不安全的。谢谢大家的帮助。

此外,上面的答案是正确的,只是对我来说从来没有出现过问题,尽管看起来有问题。这可能是由 debian.cnf 引起的。我从来没有遇到过 innodb 变量的问题,所以我没有对它做任何事情。

相关内容