【问题标题】:MySQL Job failed to startMySQL 作业无法启动
【发布时间】:2014-04-07 09:55:25
【问题描述】:

我在 Kubuntu 12.04 上,通过 apt-get(mysql 版本:5.5.35)安装 mysql 后,我正在尝试启动 mysql 服务,但出现此错误:

sudo 服务 mysql 启动

启动:作业启动失败

所以我用谷歌搜索了这个问题,它说我必须去 /var/log/mysql/error.log

但是我的 error.log 文件是空的 :(

然后我检查了权限 :

drwxr-s--- 2 mysql adm 4096 Apr 7 11:21 mysql

-rw-r----- 1 mysql adm 0 Apr 7 11:21 error.log

所以我不知道该怎么办......为什么会出现这个错误?为什么错误文件是空的?

【问题讨论】:

    标签: mysql ubuntu-12.04


    【解决方案1】:

    就我而言,这仅仅是因为磁盘已满。 只需清除一些磁盘空间并重新启动,一切都很好。

    【讨论】:

    • 在我的情况下也是如此。谢谢。
    • 同上。你把我从泪谷中救了出来。谢谢
    【解决方案2】:

    为了安全起见,首先备份您的 /var/lib/mysql/ 目录。

    sudo mkdir /home/<your username>/mysql/
    cd /var/lib/mysql/
    sudo cp * /home/<your username>/mysql/ -R
    

    接下来清除 MySQL(这将删除 php5-mysql 和 phpmyadmin 以及许多其他库,因此请准备好在此之后重新安装一些项目。

    sudo apt-get purge mysql-server-5.1 mysql-common
    

    删除文件夹 /etc/mysql/ 及其内容

    sudo rm /etc/mysql/ -R
    

    接下来检查您的旧数据库文件是否仍在 /var/lib/mysql/ 中,如果不在,则将它们复制回文件夹,然后 chown root:root

    (仅当文件不再存在时才运行这些文件)

    sudo mkdir /var/lib/mysql/
    sudo chown root:root /var/lib/mysql/ -R
    cd ~/mysql/
    sudo cp * /var/lib/mysql/ -R
    

    接下来安装mysql服务器

    sudo apt-get install mysql-server
    

    最后重新安装任何丢失的软件包,如 phpmyadmin 和 php5-mysql。

    【讨论】:

    • 这种崩溃的原因是什么? mysql 很稳定……它发生在我身上
    • @Ben:这个问题可能是由于安装或卸载不当造成的。如果您是第一次在系统中安装,则不会出现此问题。重新安装 mysql 时,可能有一些依赖项没有完全删除。
    • 那时我很忙……我的 mysql 安装运行了一年多,大约一个月前我已经将 ubuntu 然后 mysql 升级到 5.5。从来没有任何问题。意思是有人闯入我的服务器,你认为?
    • 人们是否意识到只需重新启动即可解决此问题?它对我有用,我认为这应该是执行这些步骤之前的第一次尝试。
    • 我在 mysql 5.7 上遇到了同样的问题并且工作正常,没有数据库丢失,谢谢@Rajesh
    【解决方案3】:

    为了帮助没有完整磁盘的其他人解决此问题,请首先检查您的错误日志(对我来说,路径在我的/etc/mysql/my.cnf 文件中给出):

    tail /var/log/mysql/error.log
    

    我的问题原来是一些网络路由器重新配置后分配的新 IP 地址,所以我需要更改 bind-address 变量。

    【讨论】:

      【解决方案4】:

      在我的情况下,问题是/var/log 磁盘已满(与df -h 核对)

      刚刚删除了一些日志文件,mysql启动了,没什么大不了的!

      【讨论】:

        【解决方案5】:

        重新安装将起作用,因为它将所有值重置为默认值。最好找出真正的罪魁祸首(my.cnf 编辑错误确实发生,例如在 mysql 调优期间错误/过时的参数建议。)

        如果您怀疑 my.cnf 中的某些值有误,这里是 mysql 诊断:运行 mysqld 以显示结果。

        sudo -u mysql  mysqld 
        

        然后,修复所有从屏幕弹出的my.cnf key错误,直到mysqld启动成功。

        然后使用

        重新启动它
        sudo service mysql restart
        

        【讨论】:

          【解决方案6】:

          就我而言,我愿意:

          1. sudo nano /etc/mysql/my.cnf
          2. 搜索 bind 名称和 IP
          3. 去掉具体的,只让localhost 127.0.0.1和主机名

          【讨论】:

          • 我如何搜索绑定?
          【解决方案7】:

          这一行确实解决了我的问题,

          sudo apt clean
          

          【讨论】:

            【解决方案8】:

            我的问题是内存不足。 Digital Ocean 有很好的说明为 Ubuntu 添加交换内存:https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04

            这解决了问题,使我能够重新启动否则无法启动的 Mysql。

            【讨论】:

              【解决方案9】:

              在大多数情况下,只需清除 mysql-server 软件包并重新安装即可完成工作。

              运行,

              sudo apt-get purge mysql-server-5.1 mysql-common

              紧随其后

              sudo apt-get install mysql-server

              【讨论】:

                【解决方案10】:

                检查文件权限(如果已编辑)

                失败:

                $ sudo chmod 776 /etc/mysql/my.cnf
                $ sudo service mysql restart
                mysql stop/waiting
                start: Job failed to start
                

                好的:

                $ sudo chmod 774 /etc/mysql/my.cnf
                $ sudo service mysql restart
                stop: Unknown instance:
                mysql start/running, process 9564
                

                【讨论】:

                  【解决方案11】:

                  给定的解决方案需要足够的空闲硬盘,实际问题是硬盘内存不足。因此,如果您没有备用服务器或可用磁盘空间,则需要其他替代方案。

                  当我在 MySQL 中运行批量下载时,我的生产服务器 (Linode VPS) 遇到了这个错误。它不是一个合适的解决方案,而是非常快速的修复,我们在生产中经常需要它来快速提升。

                  1. 将我们的 VPS 服务器调整为更大的硬盘大小
                  2. 启动 MySQL,它可以工作。
                  3. 登录到您的 MySQL 实例并进行导致此错误的适当调整(例如,删除一些记录、表或将数据库备份到您的本地计算机上,这些在生产中不需要等。毕竟您知道是什么导致了这个问题.)
                  4. 将您的 VPS 服务器降级到您已经在使用的以前的软件包

                  【讨论】:

                    【解决方案12】:

                    就我而言:

                    • 重启服务器
                    • 重启mysql
                    • 在目录中创建.socket

                    【讨论】:

                    • 请提供更多详细信息,在哪里创建 .socket 目录
                    【解决方案13】:

                    我遇到了同样的问题。但我发现我的高清已满。

                    $ sudo cat /var/log/upstart/mysql.log
                    /proc/self/fd/9: ERROR: The partition with /var/lib/mysql is too full!
                    

                    所以,我跑了

                    $ df -h
                    

                    我收到了消息

                    /dev/xvda1      7.8G  7.4G     0 100% /
                    

                    然后我通过在终端上运行以下命令发现哪个文件夹已满

                    $ cd /var/www
                    $ for i in *; do echo $i; find $i |wc -l; done
                    

                    这给了我/var/www 上每个文件夹的文件数。我登录到文件最多的文件夹,删除了一些备份文件,继续删除无用文件和缓存文件。

                    然后我运行 $ sudo /etc/init.d/mysql start 它再次工作

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2015-07-13
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2016-07-07
                      • 2019-01-08
                      相关资源
                      最近更新 更多