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、把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启动失败问题总结的更多相关文章
- mysql 启动失败,数据恢复
mysql 启动失败,数据恢复 2017年02月13日 16:46:36 阅读数:621 Forcing InnoDB Recovery提供了6个等级的修复模式,需要注意的是值大于3的时候,会对数据文 ...
- Mysql启动失败解决方案 - 个人经验可能不适合所有场景
以前一直用的Mysql5.5,安装程序是一个exe程序,安装完了相应的服务也给我注册好了,然后直接启动连接即可. 最近升级到了8.0.15,发现和以前不一样了. 8.0.15下载地址 安装解压之后目录 ...
- centos7安装apache http server启动失败--Failed to start The Apache HTTP Server.
centos7安装apache http server启动失败 除了nginx可以开启http服务外,apche http server也可以开启http服务,安装过程如下:1. 首先,检测是 ...
- MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法
MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法 错误2,系统找不到文件. 开始...运行... regedit 注册表项: HKEY_LOCAL_ ...
- Linux下mysql启动失败
原因:强制重启服务器之后,发现mysql启动 失败 解决方法:强制清空 报错路径下的tmp文件,清空之后在tmp下面新建一个文件夹,文件夹的名字在你清空tmp之后启动mysql系统会给你提示 欧克,完 ...
- [读书笔记]xampp mysql启动失败解析(win7)
1. [mysql] MySQL Service detected with wrong path [mysql] Change XAMPP MySQL and Control Panel s ...
- XAMPP之Mysql启动失败
启动XAMPP中的Mysql出现如下: 可能的原因是本地有多个MySQL,所以要在注册表编辑器中将imagePath改成XAMPP中的mysql的地址.(打开注册表编辑器:win+R,输入regedi ...
- XAMPP中Apache因为端口原因不能启动的解决方法
在开启XAMPP的Apache时报出如下错误信息: 9:08:14 PM [Apache] Error: Apache shutdown unexpectedly.9:08:14 PM [Apache ...
- Windows系统下解决PhPStudy MySQL启动失败
报错 Apache\Nginx服务正常启动了,但是MySQL却一直启动失败. 解决流程 查看端口是否被占用 打开系统自带的资源管理器,查看监听端口3306是不是被占用,下图中3306端口被mysqld ...
随机推荐
- pom.xml导入项目的时候,出错
- opencv——通过面积筛选最大轮廓,并求凸包矩形的长和宽
#include "stdafx.h" #include <iostream> #include<string> #include <stdio.h& ...
- Maven打包jar项目
默认情况下,使用maven打包的jar项目(执行maven install)不会包含其他包引用,要想打包为带其他项目引用的jar,需要加入插件 要得到一个可以直接在命令行通过java命令运行的JAR文 ...
- [C#]C#中字符串的操作
1.Replace(替换字符):public string Replace(char oldChar,char newChar);在对象中寻找oldChar,如果寻找到,就用newChar将oldCh ...
- SQL函数(不定时更新)
sum求和:select sum(a) from table1 group by b 依据b列为a列求和 distinct去除重复:select distinct(a) from table1 ...
- 微信开发之c#下jssdk签名生成
参考文章 :微信JS-SDK 权限签名算法 C#版 这篇文章讲解的的比较详细,而且算法准确,但是这篇文章有几个错误的地方需要注意; url必须动态生成 url不能写死,否则就算结果和官方检测的一致,也 ...
- [网络流24题][CTSC1999] 家园
题目链接:戳我 对于这种一个点(表面意义上的一个点,比如说一个位置)对应多种情况的(比如说随着时间的推移有着不同的状态,而且这种状态>2),我们考虑在类似于分层图上面跑网络流. 比如说这道题,周 ...
- Binder学习笔记(一)
网上看了很多关于binder的文章,但我还是想把自己的心路历程记录下来,有些是跟着别人的脚步领略险峻风景,有些则是自己只身探入代码深处打捞出的收获.我不确定是否全部融会贯通,更担心一两个月后会完全不记 ...
- const 与define 创建符号常量的 用法与区别
一.define 的用法: 在c语言中我经常会看到 :#define PI 12 ,这是创建了一个符号常量,这里面要注意没有那个等于号“=”: 二.const 的用法: 1.const 也可以来创 ...
- javascript对比两个数组,打印出差异值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...