• XAMPP中Apache和Mysql启动失败问题总结


    一、Apache启动失败

    xampp启动时显示的错误为:

    9:52:41  [Apache]  Attempting to start Apache app...

    9:52:41  [Apache]  Status change detected: running
    9:52:42  [Apache] Status change detected: stopped
    9:52:42  [Apache] Error: Apache shutdown unexpectedly.
    9:52:42  [Apache] This may be due to a blocked port, missing dependencies, 
    9:52:42  [Apache] improper privileges, a crash, or a shutdown by another method.
    9:52:42  [Apache] Check the "/xampp/apache/logs/error.log" file

    9:52:42  [Apache]  and the Windows Event Viewer for more clues

    这个问题比较常见, 通常是80、443端口被占用

    cmd 通过运行apache/bin/httpd.exe 打印如下log: 

    (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : make_sock: could not bind to address 0.0.0.0:443 
    或者后面是80端口被占用

    (OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : make_sock: could not bind to address 0.0.0.0:80  或[ : : ]:80 

    1、最快的处理方法就是修改端口号:

    1.1、443端口被占用,apache无法监听443端口,该如何解决呢? 

    在/xampp/apache/conf/extra/httpd-ssl.conf 

    把Listen 443 修改为 444(可自定义)


    1.2、80端口被占用,apache无法监听80端口,该如何解决呢? 

    在/xampp/apache/conf/extra/httpd.conf 

    把Listen 80 修改为 88 (可自定义)

    如果配置了vhosts的话请把httpd-vhosts.conf 中端口改为88(同上端口号)

    2、最直接的方法是关闭占用80、443端口的进程: 

    1. 通过cmd中netstat -ano 看看本机80、 443端口被占用没               ----- --这里 可能会被其他程序占用如iis、虚拟机等
    2.通过cmd中打印tasklist,查找占用80、443端口的进程名称。 
    3.taskkill /pid 端口号 杀掉此进程名称,XAMPP重启apache即可。

    综上所述第一种方法推荐使用,第二种每次启动都或多或少的再次遇到。

    二、MySQL启动失败

    在使用数据库后,退出数据库,再次登录,可能会产生下面一种情况

    XAMPP – MySQL shutdown unexpectedly
    14:39:04  [mysql]         Status change detected: running
    14:39:05  [mysql]         Status change detected: stopped
    14:39:05  [mysql]         Error: MySQL shutdown unexpectedly.
    14:39:05  [mysql]         This may be due to a blocked port, missing dependencies,
    14:39:05  [mysql]         improper privileges, a crash, or a shutdown by another method.
    14:39:05  [mysql]         Press the Logs button to view error logs and check
    14:39:05  [mysql]         the Windows Event Viewer for more clues
    14:39:05  [mysql]         If you need more help, copy and post this

    14:39:05  [mysql]         entire log window on the forums

     (大体的意思就是意外停止  具体记不太清了  等有机会截图上来)

    我的解决方法有三种:

    1、把xamppmysqldata下的ibdata1文件删掉

    • 找到本地安装存放xampp的文件夹,点击打开文件夹;
    • 找到Mysql文件夹,点击打开;
    • 找到data文件夹,点击打开;
    • 找到 ibdata1 这个文件,并删除它;
    • 重新启用MYSQL

    但是这个文件夹是用来存储真实的数据库数据的,如果删掉就相当于删掉了数据库,而且每次对数据库进行操作后,该表会重新生成。

    所以尝试将该文件转移到另一个位置

    而该文件的生成路径是由配置文件中设置的

    最终,按下面方法解决了

    在mysql的配置文件C:xamppmysqlinmy.ini中,将以下几行改掉:

    innodb_data_home_dir = "/xampp/mysql/data"
    innodb_log_group_home_dir = "/xampp/mysql/data"
    #innodb_log_arch_dir = "/xampp/mysql/data"

    可以改为:

    innodb_data_home_dir = "/xampp/mysql/data/sqldata"
    innodb_log_group_home_dir = "/xampp/mysql/data/sqldata"
    #innodb_log_arch_dir = "/xampp/mysql/data/sqldata"

      在此之前,要现在/xmapp/mysql/data下建立一个新文件夹sqldata

    2、在mysql/bin/my.ini 文件 添加一段代码:

      [mysqld]
     innodb_force_recovery = 4

    然后重启MySQL服务

    3、用管理员启动MySQL服务

    用管理员启动命令行,进入mysql的bin目录,输入mysqld --install,回车,

    提示:Service successfully installed,

    表示安装MySQL服务成功。

    命令行窗口输入:net start mysql ,可以正常启动。

    好了,就这么多了,mysql服务启动以后就没什么问题了。

  • 相关阅读:
    HDU 2122 HDU Today(dijkstra+map)
    DEDECMS后台传附件图片出现Upload filetype not allow解决办法
    织梦dedecms如何显示所有文章列表
    dedeCMS标签调用技巧和大全
    dedecms二次开发总结 变量参数
    dedecms上传图片相对路径改成绝对路径方法
    织梦Dedecms网站后台无法上传图片的步骤详解
    dedecms列表页调用当前文档的tags并带链接
    dedecms 自动获取缩略图
    dedecms网站转移(更换空间转移数据方法)
  • 原文地址:https://www.cnblogs.com/101718qiong/p/8658312.html
Copyright © 2020-2023  润新知