Mysql由于文件配置或服务冲突无法启动问题

引言

    Mysql在多次反复安装卸载在安装的过程中,可能会由于上次安装的遗留文件或系
统配置的影响,导致再次安装的Mysql服务无法启动。使用Mysql很久了,今天遇到这
个问题,也是很棘手,查阅后有一些方案和心得分享一下

先放几个友情链接,可以作为参考,我下面会做一写总结:
1、本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动

2、【错误解决】本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止

3、mysql5.7.21免安装版配置步骤(无my.ini文件或服务无法启动的解决方案)

4、mysql5.7 本地计算机上的mysql 服务启动后停止 的问题解决

以上这些如果看完基本上是可以解决问题了,如果不想看那么多,那可以看看我下面的总结

解决方案

1、服务启动中止或是启动不了,第一个先想到的是端口冲突,尤其是在当你的电脑上有不只一个Mysql服务的时候,先去检查是否是别的Mysql进程没有关闭导致端口占用,如果没有我们继续
2、如果你在卸载程序中已经卸载相关其他Mysql服务,但是现在安装的Mysql服务依然启动不了,那么要考虑一下,可能是卸载程序并没有删除一些配置文件或者注册表文件,尤其是当你的Mysql是Mysql-installer版本的时候,给出两个参考的文件目录可能存在这一些残留的配置文件:

C:\Program Files\MySQL
C:\ProgramData\MySQL        --这个是一个隐藏文件,请先勾选windows的查看隐藏

还没有完,进入window的计算机管理中查看服务和应用程序,因为多次的安装Mysql,会注册多个MySQL服务,查看服务中时候是否有多个Mysql服务,类似 Mysql57、Mysql57_1,若有可以两种方式彻底排除影响:

1、点击属性,在属性中禁用此服务
2、管理员运行cmd,输入命令 > mysqld --remove Mysql57 [这是你对应的服务名称] 

3、如果以上两种情况处理后,还是不能启动当前Mysql,那么很有可能是你当前Mysql的问题了,出现的问题有两种可能:

1、服务根目录下没有my.ini文件或者my-default.ini类似ini文件
2、Mysql未初始化,查看根目录下,是否有data目录,若data目录下为空或者没有data
目录说明未初始化
3、当然还有第三种,就是上面两种都发生了

若发生1情况,两种解决方案:

1、自己建一个my.ini文件,写入配置,如下:
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port=3306
# 设置mysql的安装目录 [注意这里写自己的路径]
basedir=D:\Nginx+PHP+Mysql\mysql\mysql-5.7.23-winx64
# 设置mysql数据库的数据的存放目录  [注意这里写自己的路径]
datadir=D:\Nginx+PHP+Mysql\mysql\mysql-5.7.23-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

2、复制my.ini文件到根目录,并修改 basedir 和 datadir

若发生2情况,解决方案如下,注意>表示的是输入:

管理员身份运行cmd,cd到对应Mysql服务的根目录
#初始化不带密码参数的用户
> mysqld --initialize-insecure --user=mysql

# 其中Mysql是你的服务名称,可自定义
#  =之后的路径是你的my.ini路径
# 这句命令是在为你的Mysql服务注册到window系统中去
> mysqld --install Mysql --defaults-file=D:\Nginx+PHP+Mysql\mysql\mysql-5.7.23-
> winx64\my.ini

基本上,解决了以上问题,服务就可以启动了,> net start Mysql,即可以了

你可能感兴趣的:(mysql,数据库,服务器运维,一个web全栈的修行者)