一、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、把xampp\mysql\data下的ibdata1文件删掉

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

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

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

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

最终,按下面方法解决了

在mysql的配置文件C:\xampp\mysql\bin\my.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服务启动以后就没什么问题了。

XAMPP中Apache和Mysql启动失败问题总结的更多相关文章

  1. mysql 启动失败,数据恢复

    mysql 启动失败,数据恢复 2017年02月13日 16:46:36 阅读数:621 Forcing InnoDB Recovery提供了6个等级的修复模式,需要注意的是值大于3的时候,会对数据文 ...

  2. Mysql启动失败解决方案 - 个人经验可能不适合所有场景

    以前一直用的Mysql5.5,安装程序是一个exe程序,安装完了相应的服务也给我注册好了,然后直接启动连接即可. 最近升级到了8.0.15,发现和以前不一样了. 8.0.15下载地址 安装解压之后目录 ...

  3. centos7安装apache http server启动失败--Failed to start The Apache HTTP Server.

    centos7安装apache http server启动失败     除了nginx可以开启http服务外,apche http server也可以开启http服务,安装过程如下:1. 首先,检测是 ...

  4. MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法

    MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法 错误2,系统找不到文件. 开始...运行... regedit  注册表项: HKEY_LOCAL_ ...

  5. Linux下mysql启动失败

    原因:强制重启服务器之后,发现mysql启动 失败 解决方法:强制清空 报错路径下的tmp文件,清空之后在tmp下面新建一个文件夹,文件夹的名字在你清空tmp之后启动mysql系统会给你提示 欧克,完 ...

  6. [读书笔记]xampp mysql启动失败解析(win7)

    1.  [mysql]  MySQL Service detected with wrong path  [mysql]  Change XAMPP MySQL and Control Panel s ...

  7. XAMPP之Mysql启动失败

    启动XAMPP中的Mysql出现如下: 可能的原因是本地有多个MySQL,所以要在注册表编辑器中将imagePath改成XAMPP中的mysql的地址.(打开注册表编辑器:win+R,输入regedi ...

  8. XAMPP中Apache因为端口原因不能启动的解决方法

    在开启XAMPP的Apache时报出如下错误信息: 9:08:14 PM [Apache] Error: Apache shutdown unexpectedly.9:08:14 PM [Apache ...

  9. Windows系统下解决PhPStudy MySQL启动失败

    报错 Apache\Nginx服务正常启动了,但是MySQL却一直启动失败. 解决流程 查看端口是否被占用 打开系统自带的资源管理器,查看监听端口3306是不是被占用,下图中3306端口被mysqld ...

随机推荐

  1. ZookeeperGettingStarted

    reference url:  http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html#sc_FileManagement ZooKee ...

  2. Digester学习笔记(二)转载

    为便于理解,将笔记的内容结构作了一些调整. 对象栈 对digester技术最普通的应用,是用来动态创建一个由Java对象构成的树结构,各对象的属性以及对象间的关系,基于XML文档的内容来设置(XML文 ...

  3. Python之模块一

    1 >模块介绍: 模块,用一坨代码实现了某个功能的代码集合,类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的          重用性和代码间的吻合, ...

  4. 第二章第一个项目——package.json

    在其中写版本好的时候, { "name": "chatroom", "version": "0.0.1", " ...

  5. MFC多线程详细讲解(转)

    一.问题的提出 编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX ...

  6. 系统数据库--修改tempdb的位置

    use mastergoAlter database tempdb modify file (name = tempdev, filename = 'G:\db\tempdb.mdf')goAlter ...

  7. Transcation And Lock--SQL SERVER 事务隔离级别

    SQL SERVER 事务隔离级别:1.未提交读(READ UNCOMMITED)    允许脏读,读取数据时不加共享锁,与使用WITH(NOLOCK)结果相同2.已提交读    不允许脏读,读取数据 ...

  8. android hook getdeceiveid

    很多手机软件使用了手机绑定.QQ,微信等.如果使用了不同的设备,则需要验证码. 要用一台手机来模拟与另一台手机一样环境,估计hook 系统的相关函数可以实现. 想着应该有现成的软件的,例如 smart ...

  9. 编写高质量JS代码上

    想写出高效的javascript类库却无从下手: 尝试阅读别人的类库,却理解得似懂给懂: 打算好好钻研js高级函数,但权威书上的内容太零散, 即使记住“用法”,但到要“用”的时候却没有想“法”. 也许 ...

  10. CSS:如何清除a标签之间的默认留白间距

    即使我们使用了类似 *{margin: 0;padding: 0;} 这样的代码重置了浏览器默认样式,也会发现类似<a>标签这种inline-block元素,它们之间也还存在着间距. de ...