Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > mysql无法成功启动服务解决

mysql无法成功启动服务的解决方法(通俗易懂!)

作者:h阿泉有个梦

Mysql是我们使用数据库时需要用到的服务,但是在使用过程中常常遇到服务无法启动的问题,下面这篇文章主要给大家介绍了关于mysql无法成功启动服务的解决方法,需要的朋友可以参考下

MySQL 安装成功后,启动失败,提示如下:

或者是

尝试以下步骤

1.如果在mysql的安装路径中有没有配置文件

如果没有配置文件则自己手动创建一个,文件名为:my.ini

添加内容如下:

简介版

[mysqld]
basedir=E:\MySQL\mysql-5.7.22-winx64(mysql的安装路径)
datadir=E:\MySQL\mysql-5.7.22-winx64\data\ (mysql的安装路径\data\)
port=3306

完整版

[mysqld]
#设置北京时间
default-time_zone = '+8:00'
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\MySQLDB\mysql-8.0.22-winx64(这里需要改成你的数据库所在目录)
# 设置mysql数据库的数据的存放目录
datadir=D:\MySQLDB\mysql-8.0.22-winx64\data(这里需要改成你的数据库中data所在目录)
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character_set_server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 解决无法写入空时间,解除严格限制模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

 注意:

datadir属性后的data文件夹一定不要自己手动创建,本人尝试手动创建会有问题,如果自己创建了可以删除掉,再执行后面的操作。

2.mysql5.7以上版本默认没有一个data目录,即没有初始化服务。需要先初始化mysql才可以启动服务否则会报 “服务没有报告任何错误”,启动失败。

解决方法:

进入mysql的bin目录

例如我是装在E盘底下,文件路径为:E:\MySQL\mysql-5.7.22-winx64\bin
 
打开cmd后  默认在C盘
咱们这么操作
e:   (盘:然后回车)
接着就进入了e盘
紧接着输入:cd E:\MySQL\mysql-5.7.22-winx64\bin        回车
就进入了bin目录

具体如下图所示:

执行mysqld --initialize-insecure ,第一次执行的话,时间会久一些,执行结束后没有输出信息,查看bin的同级目录下会多出一个data文件夹,里面一堆文件。

③再次执行net start mysql命令启动服务,发现启动成功

问题分析:

①忘记密码

②首次安装mysql,不知道密码 

解决方法:

首先停止mysql服务。可通过net stop mysql或者任务管理器中关闭。 

 为什么会发生如上图所示的问题“拒绝访问”?

因为 没以管理员方式打开,下图是我们以管理员方式打开后:

第二步:跳过Mysql密码验证

进入命令提示符(管理员登陆)操作,进入mysql目录中bin文件夹下,使用以下代码来跳过权限验证。

mysqld -console --skip-grant-tables --shared-memory

输入执行后没有反馈,新开一个管理员窗口重新执行。(这是第二个窗口)

进入目录后,确保自己已经关闭了Mysql的服务:net stop mysql

关闭Mysql服务之后,继续在X:\XXXXX-winx64\bin(mysql的bin目录)目录下进行操作:

输入:

mysqld --console --skip-grant-tables --shared-memory 

在输入这行代码之后,如下显示,我们就已经成功跳过Mysql的密码登录了

第三步:无密码方式进入Mysql

在上述步骤之后,再打开一个管理员模式运行的cmd.exe (这是第三个窗口)

进入mysql下的bin目录后,直接登录mysql

如图:

①接着执行 use mysql语句 (选择mysql数据库,防止出现问题)

②然后执行flush privileges;语句

③最重要一步(修改密码)

执行alter user root@localhost identified by '123456';语句,把密码修改为123456(这里填自己想要的密码)

④执行 exit语句(退出mysql)

⑤把第一个cmd窗口关闭,在第二个cmd窗口进入到mysql的bin目录,再执行net start mysql启动mysql

⑥最后进行“修改密码”后的验证

执行语句mysql -uroot -p,输入刚刚设置的密码即可登录成功

总结:

到此这篇关于mysql无法成功启动服务的解决方法的文章就介绍到这了,更多相关mysql无法成功启动服务解决内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文